LINUX.ORG.RU

Куда уходят перловики?

 ,


2

8

Господа и, может быть, дамы!

Если вы работали Perl-программистом (или писали на этом языке для себя), где вы сейчас?

Вы продолжаете до последнего использовать Perl? Или переметнулись в соседний скриптовый лагерь? Python, Ruby, JavaScript — нужное подчеркнуть. Или, быть может, вы совсем завязали со скриптотой и нынче программируете на каком-нибудь Go. Или... да много вариантов.

Поэтому прошу вас поделиться своей историей. Мне правда интересно.



Последнее исправление: evbogdanov (всего исправлений: 1)
Ответ на: комментарий от anonymous

Вот этот выхлом про то, что там чему-то для чего-то кого-то достаточно с головой, а мужики то оказывается и не знали и шизики.

Да, шизики. Вместо perl -pe "s/\n//" собирать что-то - это шиза.

crutch_master ★★★★★
()
Ответ на: комментарий от KRoN73

«Плавно перетекло» не значит, что технически тоже самое.

Полазил по инету. Что-то как-то совсем глухо с Фортом. Замер

dave ★★★★★
()
Ответ на: комментарий от KRoN73

Java - компилятор под виртуальную архитектуру несуществующей Java-машины + интерпретатор байт-кода JVM. Без интерпретатора Java не существует, я по крайней мере не знаю компиляторов байт-кода Java в машинный код.

DRVTiny ★★★★★
()
Ответ на: комментарий от dave

Полазил по инету. Что-то как-то совсем глухо с Фортом. Замер

Он всегда был слишком нишевый. Предельная лёгкость разработки транслятора (по-моему, проще нет ни у кого) и изначальная метаязычность провоцируют написание отдельных Фортов под конкретные задачи. И отсюда — практически отсутствие единой инфраструктуры, которая могла бы привлечь новичков с целью общего применения.

KRoN73 ★★★★★
()
Ответ на: комментарий от DRVTiny

Java - компилятор под виртуальную архитектуру несуществующей Java-машины

Почему несуществующей? Были Java-процессоры, нативно исполняющие байткод JVM.

интерпретатор байт-кода JVM. Без интерпретатора Java не существует

Вообще-то, на дворе 2017-й год. И уже скоро 15 лет, как в JVM появился JIT. Боюсь, что уже целое поколение программистов выросло, которое не застало «интерпретатор байткода JVM».

KRoN73 ★★★★★
()
Ответ на: комментарий от dave

Еще есть Excelsior JET

Вообще, тут интереснее вспомнить Android ART. В котором не JIT, а AOT. Байткод компилируется в нативный код процессора при установке программы, а не перед исполнением и в таком, нативном виде и хранится :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Вообще, тут интереснее вспомнить Android ART. В котором не JIT, а AOT. Байткод компилируется в нативный код процессора при установке программы, а не перед исполнением и в таком, нативном виде и хранится :)

Тут еще интереснее вспомнить, что этот «нативный вид» на самом деле нативен весьма условно, т.к. используются все те же jobject'ы и GC со всеми вытекающими, поэтому тормозить от этой нативности он не перестает.

waker ★★★★★
()
Ответ на: комментарий от KRoN73

Нет, ну подождите, а JIT-то что делает? Если он такой умный и не интерпретирует байт-код, то почему нет возможности результаты преобразования в машинные коды записать в файлег? Что-то я не видел ни одной скопилированной в машинные коды программы на Java, работающей без JVM вообще. Где-то здесь, очевидно, обман небольшой есть.

DRVTiny ★★★★★
()
Последнее исправление: DRVTiny (всего исправлений: 1)
Ответ на: комментарий от DRVTiny

а JIT-то что делает?

Ну хоть в Wikipedia можно же заглянуть? :)


JIT-компиляция (англ. Just-in-time compilation, компиляция «на лету»), динамическая компиляция (англ. dynamic translation) — технология увеличения производительности программных систем, использующих байт-код, путём компиляции байт-кода в машинный код или в другой формат непосредственно во время работы программы. Таким образом достигается высокая скорость выполнения по сравнению с интерпретируемым байт-кодом.



почему нет возможности результаты преобразования в машинные коды записать в файлег?

А зачем? Но, вообще, эта возможность есть в упомянутых выше AOT, в частности у ART. Под Android, начиная с версии 4.4, результат компиляции байткода в машинный код сохраняется при установке программы.

Кроме того, повторюсь, байткод Java — это _уже_ машинные коды. Для Java-процессоров.

Что-то я не видел ни одной скопилированной в машинные коды программы на Java, работающей без JVM вообще.

Такие программы теряют переносимость и главную суть Java. Кроме того, JVM — не только компиляция, но и рантайм.

очевидно, обман небольшой есть

Это всё от плохого знания предмета :)

KRoN73 ★★★★★
()

Как использовал, так и продолжаю

ananas ★★★★★
()
Ответ на: комментарий от DRVTiny

Мне кажется, как раз когда кода хотя бы по объёму меньше, он таргетирован на функциональных задачах, а не на мышиной возне, понять-то его как минимум проще.

Это в какой-нибудь Джаве кода будет больше по объему, на современных компилируемых ЯП родом не из 90-х кода будет ненамного больше. Да и в Джаве IDE поможет бороться с многословностью так, что ты ее перестанешь замечать.

Virtuos86 ★★★★★
()
Ответ на: комментарий от alienclaster

Как говорят адепты Хаскеля, хорошая система типов определенные классы ошибок попросту исключает :)

Virtuos86 ★★★★★
()

До сих пор пишу для себя на Perl. Альтернатив нету: язык крайне фичаст и фичи на подходе. Отлично документирован, обладает профессиональным сообществом, библиотеками, развитой инфраструктурой. Никакой другой скриптовый до этого не дотягивает.

А в паре с Си, так вообще монстеркилл.

Deleted
()
Ответ на: комментарий от Virtuos86

Да и в Джаве IDE поможет бороться с многословностью так, что ты ее перестанешь замечать.

Нас в универе задрачивали джавой с эклипсом/идеей. До этого я вполную упарывался кэмелбуком около года. По себе могу сказать, что разница заметна, и её наверное, можно перестать замечать только если полностью стать джава-кодером.

А так, на shell/perl удобнее в vim'e писать, чем на java c ide.

Deleted
()

На работе постоянно пишу на perl и js, особых проблем не испытываю. Параллельно для себя пишу проекты на питоне и го. Интересно сравнивать принципы работы этих языков с перлом, открываешь для себя новые вещи.

Не согласен, что знание перла некуда приложить. Это как с институтом - закладывается базис, основы программирования. С переходом на новый язык они просто дополняются и расширяются. Сейчас смотрю в сторону указанных выше языков(py, go), думаю в ближайшие год-два перейти на них в повседневной работе, перевестись на проект, где они используются или найти новую работу.

noize
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.