Человек и страус++

Jan 13, 2016 01:38

Чего-то особенно офигенного Страуструп не рассказал на вторничной тусне с++традальцев. Ну да, что-то ещё полезное добавят в язык. Что-то - аж в виде дубликата уже существующего, но лучше (вы же кричали «пешы исчо, аффтар!», ну и вот, заявки услышаны ( Read more... )

effectiveness, language, c++, software

Leave a comment

sab123 January 13 2016, 14:25:02 UTC
То, как они "рефакторят" в Джаве (копи-пастят и переименовывают) - не нужно. Статического анализа есть всякого дофига, и он тоже не нужен по причине бесполезности.

А препроцессор - совершенно рулез. Всякая Джава столь убога в том числе по причине отсутствия препроцессора.

Альтернатив С++ на самом деле нету. Все, что предлагается в виде альтернатив, ужасно корявое.

Reply

spamsink January 13 2016, 15:45:19 UTC
В чем заключается корявость языка D?

Reply

sab123 January 13 2016, 23:06:33 UTC
Я с ним практически совсем не знаком, я больше думал про Джаву, Сишарп, Го. Но он же вроде в виртуальной машине? Если да, то пожалуйста корявость.

Чтобы конкурировать с Си++, надо иметь как минимум: препроцессор, темплейты, классы, выполнение деструкторов при выходе из блока и возможность не использовать сборку мусора, компиляцию в родной код.

Reply

spamsink January 13 2016, 23:13:19 UTC
Но он же вроде в виртуальной машине?

Бог с тобой. Во-первых, D отродясь компилируется в нативный код; во-вторых, у него такой "препроцессор", какой ни Си, ни С++ не снился; в-третьих, есть и классы, и темплейты; в-четвертых, есть возможность не использовать сборку мусора.

Reply

sab123 January 13 2016, 23:23:05 UTC
Значит надо знакомиться.

Reply

archaicos January 14 2016, 09:05:28 UTC
Ну вот в ведроиде есть настоящий компилятор из Java bytecode в машинный. Т.е. не JIT, не просто интерпретатор, а вот вполне себе сносный компилятор. От виртуальной машины остаются вещи, которые должны быть сделаны и должны работать по соответствующим спецификациям языка и этой машины. От GC и проверки ссылок/делителей/етц никуда не деться, ибо требует спецификация. Но заметно улучшать производительность можно, не смотря на эти спецификации, что постепенно и делают, и выходит неплохо. При этом нужно помнить, что Java не для всего и не для всех, как и C++, и сразу помещать в ряды корявых само по себе коряво.

Reply

sab123 January 14 2016, 19:23:00 UTC
Я про нишу, в которой C++ доминирует. Понятно, что скажем у Перла или Джаваскрипта ниша совершенно другая, и они его не заменят. Хотя Перл, в-принципе, мог бы заменить Джаваскрипт, но скорее всего не наоборот (Микрософт пытался, результат - ужас-ужас).

Reply

archaicos January 14 2016, 08:56:46 UTC
Слишком категорично пишете/сильно обобщаете.

Reply


Leave a comment

Up