Краткость, конечно, сестра таланта — но не настолько же! Едва заварил какао, приготовился к большой статье с анализом, красивыми графиками, разными примерами и аналогиями из иных наук и инженерных приложений, как она внезапно оборвалась. В общем, я даже не понял, что это было.
Приведите пример какого нибудь большого проекта, который стартовал не более года назад на асме. Ну вы поняли. :3 Можно ли назвать асм умершим? Нельзя. В любой ОС на нём написаны весьма важные функции.
Мне вот очень интересно, почему вопросу поставили минус? Прямо удивительно для меня. Ну спросил человек и чего? Ощущение, что по комментам ходит некий бот и ставит минусы рандомно просто. :3
Ни в чём, ежели он реализован хорошо, но после Objective C и Ada в C++ всё кажется плохо. Впрочем, как язык написания игр и прочих быстрых, но не критических приложений, он ничего (ещё бы названия классов и методов нормальными были), а программы для боинга я бы на нём не рискнул. Вы лучше не моё личное примечание обсуждайте — а первые предложения с объективными мнениями опытных инженеров. То же самое говорили в компаниях после вынужденного перехода с Smalltalk на Java.
По отзывам людей из аэрокосмической индустрии (в США само собой, про Россию ничего не знаю) код на Ada пишется быстрее и получается чище и безопаснее. причина, по которой многие используют в ней C++ — страх не найти быструю замену увольвшегося инженера. (При этом о качестве мало кто думает). Ну и в С++ нет автоматического управления памятью, все shared ptr и прочие — не более чем кривые костыли — реализованные в стандартной либе как классы.
Но обычно всё наоборот — люди используют не лучшие, а наиболее распространённые в мире технологии и языки, (что ещё больше способствует их расширению). При этом их первичная популярность может быть обусловлена чем угодно — низким порогом вхождения, открытостью и бесплатностью, моделью разработки или идеологией, или вообще случайными вещами.
Коммерческие UNIX машины были (и есть во многом) объективно лучше Linux. MINIX и BSD спроектированы лучше Linux. Успех его был обусловлен изначальной бесплатностью и открытой 'базарной' моделью разработки с 'вирусной' лицензией — фактически по идеологическим причинам.
Аналогично Ada много лучше C++, а Smalltalk много лучше Java, но закрытые модели и излишне высокие цены во время массового распространения сетей и персоналок не позволили им вырваться в лидеры.
И это плохо, ибо очень тормозит науку и инженерию. Последствия PHP бума не разгребут ещё многие годы.
Почему практически все статьи по философии и методологии программирования — переводные? Что ни размышление — перевод. Неужели в России подобные вопросы не возникают ни у кого?
'Вымирающих' языков не бывает, пока на языке пишут, он жив. А уж сколько всего написано (и продолжает писаться) на Perl. И на Ada, и на Fortan и на Asm всё ещё пишут и причём немало. Объём рынка программ и людей — не показатель. Если язык не используется массово в бесчисленных OOO 'Вектор', и на нём не верстают формы в банках, это не значит, что с языком плохо. Немало нишевых языков не могут в принципе быть массовыми. Когда в банках перешли с C++ на Java, с последним ничего не случилось. Скорее наоборот, избавление от массы плохих программистов и случайных людей пошло ему на пользу. Теперь на нём пишут лишь те, кому он действительно нужен. И хорошего спеца найти проще.
Я ничего подобного не говорил, и не мог. Грубо говоря, strncpy() может копировать строки у которых отсутствует '\0' в конце. (strcpy() понятное дело не может). Похоже, нужно ещё одно эссе про строковые функции.
Ну почему? И пишем и читаем слева направо:
7 factorial printNl.
вполне читается как «спросить у числа 7 его факториал, после чего распечатать его.»Коммерческие UNIX машины были (и есть во многом) объективно лучше Linux. MINIX и BSD спроектированы лучше Linux. Успех его был обусловлен изначальной бесплатностью и открытой 'базарной' моделью разработки с 'вирусной' лицензией — фактически по идеологическим причинам.
Аналогично Ada много лучше C++, а Smalltalk много лучше Java, но закрытые модели и излишне высокие цены во время массового распространения сетей и персоналок не позволили им вырваться в лидеры.
И это плохо, ибо очень тормозит науку и инженерию. Последствия PHP бума не разгребут ещё многие годы.
strncpy()
может копировать строки у которых отсутствует'\0'
в конце. (strcpy()
понятное дело не может). Похоже, нужно ещё одно эссе про строковые функции.n
говорит, сколько символов нужно взять изsrc
. Но вообще, strlcpy() действительно выглядит лучше.