?

Log in

No account? Create an account

Previous Entry | Next Entry

ushastyi пишет:
…популярность и быстрый рост Джавы во многом обусловлена ее социальностью — легко научиться что-то программировать. В сравнении с внешне похожим, но куда более сложным С++, в умелых руках способным творить чудесные программы и системы.

Социальность не всегда значит хорошо. Если меня спрашивают, а такое порой случается, то в качестве языков для обучения студентов я всегда рекомендую именно асоциальные языки. Их сложность и строгость гарантируют, что человеку придется напрягать мозги и разбираться, а это безвозвратно, к счастью, не проходит. Впоследствии другие языки покажутся простыми.
Три раза дададада!!! Учеба, кстати, в отличие от работы (и научной, и инженерной), есть процесс индивидуальный, или, в этих терминах, асоциальный. Если вам предстоит обучаться вычислительной математике, учитесь программированию на функциональном, асоциальном языке. Второй язык уже может быть любым.

Tags:

Comments

pphantom
Dec. 17th, 2011 11:43 am (UTC)
Возможно, и не означает, но хотелось бы увидеть конкретную реализацию - не менее эффективную. :)

Да - для систем со сборкой мусора. Только сам по себе GC - штука, достаточно сильно снижающая эффективность кода.
fregimus
Dec. 18th, 2011 05:45 am (UTC)
Вы можете ее увидеть, если захотите. Не буду рассказывать притчу о суровых сибирских мужиках и японской бензопиле — Вы ее и так знаете.

Насчет GC заблуждение, впрочем, довольно распространенное. Если бы одна система была настолько лучше другой, вторая давно вышла бы из употребления. GC не менее эффективна в обычных задачах, чем куча, хотя, конечно, можно подобрать неперепилимый лом и для той, и для другой.
pphantom
Dec. 18th, 2011 10:58 am (UTC)
Не знаю, не уверен (это я про реализацию, а не про притчу).

Не факт. Если посмотреть на задачи, в которых успешно используются языки с автоматической сборкой мусора, то получится достаточно четкая картина - это случаи, когда надо писать много кода и писать быстро, однако требования к быстродействию либо отсутствуют, либо достаточно символические. Т.е. когда время разработки ценнее времени выполнения, в этом случае такая схема управления памятью вполне уместна. Это более чем достаточное основание для использования GC, но это не значит, что GC всегда лучше - во всяком случае, я действительно не знаю ни одного разумного случая написания чего-либо, требующего большого машинного времени и памяти, на языках с GC.