Здравствуйте, -n1l-, Вы писали:
N>Здравствуйте, devcoach, Вы писали:
N>Что вы понимаете под базовыми принципами?
Читайте самый первый пост в топике.
N>А я не спрашивал есть или нет, я спрашивал "какие"?
Что за вопрос? Такие, которые требуют глубокого понимания принципов работы компьютера, порой вплоть до железяк. Пример — погуглите по слову Disruptor.
N>Что вы понимаете под server-side? Что вы понимаете под системным программированием?
Ок, "системное программирование" — не совсем корректный термин. Давайте так — низкоуровневое программирование. "Низость" — понятие относительное. Server-side — все то, что относится к серверу — как обработчики конкретных запросов, так и сам сервер. Когда вам надо, например, захэндлить запрос от клиента внутри IIS, и вы оперируете высокоуровневыми понятиями — энтити там всякие, SQL запросики — это высокоуровневое программирование. Когда вам надо, например, сам сервер написать, и вы оперируете сокетами, массивами байт, паритесь о многопоточности — это инзкоуровневое программирование. Разумеется, есть и промежуточные варианты.
Так вот, чем "ниже" уровень решаемой задачи, тем больше базовых знаний требуется для ее решения.
На C# задачи, в большинстве своем, высокоуровневые, потому программисты могут запросто не знать азов и быть низкоквалифицированными. Какие задачи — такой и специалист.
На C/C++/Java низкоуровневых задач значительно больше ввиду того, что эти языки применимы на разных платформах. Как следствие, спецов, которые знают основы, в относительном исчислении больше.
D>>async/await — хз, как это работает; D>>volatile — да хз, хрень какая-то D>>и т.д. и т.п. N>Это уже другая тема.
Это как раз то, о чем идет речь в топике.