ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
16 июля
564123 Топик полностью
fk0123 (05.12.2014 02:44, просмотров: 1) ответил Evgeny_CD на Персональная Big Data. Персональный кластер. Начальная размышлизма. Похоже, Java таки победит.
Прежде чем нести чушь, как часто это с тобой бывает, задумайся, что есть _разные_ по функциональному назначению языки. Для скриптинга и в качестве шелла компилируемые языки вообще не подойдут, интерпретаторы -- не каждый. Perl в качестве шелла провалился, tcl в принципе работает, но больше любят bash, как ни странно. Делать полноценный шелл из питонов, lua и т.п. никто и не пытался даже. Ты статью Ousterhout'а читал? Tcl -- это _клей_. Для склеивания компонентов созданных на других языках. Более приспособленных для конкретных задач. Задачи тоже бывают разные и принципиально по-разному решаются на различных языках. Кардинально, например, отличаются Prolog, Lisp и C++ -- не кажется? Java от C++ не далеко ушла. Это такой же язык с _статической_ типизацией, без лексической области видимости имён и кучи плюшек. Что предполагает определённый подход к программированию. Более ограниченный, чем в динамических языках. В последних туго с компиляцией (хотя Lisp умеет в C компилироваться, к слову), плохо с эффективным машинным кодом (vs Java, C++ и т.п.), но они позволяют решать достаточно сложные задачи программирования, с другой стороны, решение которых на C++ оказывается более сложным для программистов, как минимум. Чтоб далеко не ходить, сравни какой-нибудь интерпретатор (третьего языка) на C++ или том же lisp (пример: lisp на lisp). По perl вообще проехался не по делу: perl работает (по крайне мере работал года три назад) быстрей многих других интерпретаторов. Внутри там байткод, разумеется (т.е. разницы с той же java или C# мало). Минус перла -- нет нормальной объектной системы (как и в Tcl, хоть их там и 100500 штук). Хотя perl с чем-то сравнивать вообще опасно: perl вобрал в себя концепции многих языков программирования одновременно. Программы на perl можно писать на FORTRAN, C++ и Lisp одновременно... Про медленный в реализации JS -- порядочный бред. Современные интерпретаторы js, боюсь, обгоняют доисторическую java. Но там опять же динамическая типизация и с числами, битами и строками java работать может быстрей. Выводы у тебя тоже бредовые. Программирование на Java ничем не лучше программирования на C++, скорей наоборот. Если на C++ писать программы сложно, то на Java -- суперсложно. Но на Java способны писать "миллионы обезьян" -- это её единственный плюс. Не нравится C++ -- есть D. Умная мысль: первые системы искусственного интеллекта работали на Lisp, а не на FORTRAN или COBOL (Java тех времён). И ничего с тех пор не изменилсь. Быстрая числомолотилка нужна, когда уже есть готовые отлаженные алгоритмы и их можно перевести в более быстрый C/C++ код (Java идёт лесом). Но как их получить? Миллионы обезьян родят? Ни разу. Нужны языки позволяющие работать с этой самой "базой знаний" не на уровне битов, байтов, или java-объектов, а быстро строить языковые конструкции приспособленные к данной области знаний. Японские компьютеры 5-го поколения, планировалось, должны были управляться Prolog'ом, хоть поинтересуйся. А у Java -- нет будущего. Это закрытая патентованная технология уже пережившая свой век. Идея за Java стоит ровно одна -- мол вот будет виртуальная машина, чтоб избавиться от перекомпиляции. Ничего нового за ней нет. И эта идея устарела уже, за последний десяток лет появилось 100500 альтернативных виртуальных машин с JIT компиляцией прямо в машинный код целевой платформы. Я скорей поверю в Mono и C#, хотя за ними тоже ничего нового в плане программирования. Это как разница между Delphi и Pascal. После Гослинга и Вирта копирасты смогли лишь мелкий улучшайзинг, принципиально ничего не изменилось и не могло измениться.