Единственный язык, который у меня «не пошёл». Даже на эрланге just 4 fun написал пару приблуд, а пёрл - чёт ваще не понял удовольствия. Как по мне, нынче полно куда более удобных ЯП, а для них, в свою очередь, библиотек, фреймворков, тулзов и всяких приблуд.
Помню, на вопрос «Почему символом perl 6 выбрана миленькая бабочка?», Ларри Уолл ответил: «Чтобы нравиться семилетним девочкам». С тех пор и к Ларри, и к перлу отношусь с насторогой.
Программа на базе примеров из оф.документации (на тему promises) работала вполне сносно по скорости, хотя запускалась просто охрененно долго. Язык сам по себе понравился, хотя безальтернативное ООП вызывает недоумение: по-моему ООП не в тренде, да и сам Ларри Уолл всегда относился к ООПу со скепсисом. Например, языки типа Ruby и Python в первую чередь именно дебильные конструкции типа string.print делают исключительно уродливыми. В Perl6 подкупает невероятное разнообразие языковых средств - пихтону до такого просто как пешком от Рязани до Парижа.
Для меня Perl закончился при переходе всех и вся на UTF-8, хотя раньше его использовал в разных админских проектах. Очень ждал Perl6, читал про его виртуальную машину, возможности поддерживать реализации разных ЯП и т.д. Но время шло, «а Германа всё нет», книжки со всякими верблюдами и винторогими козлами всё чаще оставались пылиться на книжной полке.
Сейчас мне нужен кросс-платформенный {win lin mac} инструмент, с обширными наработками, мелкоразмерный, портабельный, мощный, с «хорошими» регекспами, с возможностью удобного в разработке GUI, короче, теперь я чаще использую Tcl/Tk, в разновидности tclkit с вариациями:
Я понял только, что ты хэйтишь Питон. В Пёрл6 подкупает, что сообщество стало дальше развивать Пёрл5, таким образом похоронив шестую версию, как и PHP в своё время.
str = "Привет"
def str.bye
"Пока!"
end
puts str.bye
# Дана строка в которой слова записаны через пробел. Необходимо перемешать все слова этой строки в случайном порядке.
str="Point Line Triangle Square Pentagon"
puts str.split(" ").sort_by{ rand }.join(" ")
Просто везде. Начиная с жабки где Serializable объекты (например StringBuilder) должны иметь writeObject(java.io.ObjectOutputStream) и заканчивая новомодным го, где объекты (включая строки) реализуют writeTo(io.Writer)
Начиная с жабки где Serializable объекты (например StringBuilder) должны иметь writeObject(java.io.ObjectOutputStream)
The writeObject method is responsible for writing the state of the object for its particular class so that the corresponding readObject method can restore it.
Про go не знаю но все хеллоу ворлды на го выглядят как fmt.Println(«Hello, World») а не «Hello, World».writeTo(fmt)
И вообще DRVTiny говорил это приминительно к руби и питону.
puts печатает свой(-и) аргумент(-ы) и возвращает nil. В Ruby возвращаемым значением функции является значение последнего выполненного выражения (опустим ensure). Дальше ты сам сможешь додумать.
Питон создавался для военных, тупых надменных солдафонов. Соотв. контингент и пользуется этим языком. Впрочем, странно, что многие из упомянутых господ на самом деле не служили.
Сообщество развивает и Perl5, и Perl6. Даже сами отцы-основатели полагают 6-ю и 5-ю версии в действительности разными языками, поэтому нет ничего странного в том, что оба они развиваются параллельно.
Насчёт происхождения Питона как языка программирования, разрабатывавшегося изначально как простой язык для программирования военных систем? Я это знаю, и если есть большая в том необходимость, дополню статью Википедии, если там этого нет.
Ой, а уже всё есть вообще-то, мне даже напрягаться не стоит. Можно только акцентировать внимание на том неоспоримом факте, что первая реально юзабельная версия языка была создана на деньги МинОбороны США:
Во время пребывания в CNRI Ван Россум запустил проект «Программирование для всех» (англ. Computer Programming for Everybody, CP4E), предназначенный сделать программирование доступным для большего числа людей, на основе получения базовой «компьютерной грамотности», подобной базовому знанию языка и математики, требуемых большинству работающих. Python играл центральную роль в этой инициативе, благодаря своей нацеленности на ясный синтаксис. Проект CP4E финансировался DARPA,[11] в данное время проект закрыт.
Как уже сказали выше в первом случае ты вызываешь метод который выводит на экран «Пока!» а во втором случае ты еще и выводишь на экран возвращаемое значение этого метода. Разве это не очевидно из кода?
В первом случае у тебя вызов метода и игнорирование его возвращаемого значения, во втором случае у тебя вызов метода и вывод его возвращаемого значения на экран. Как объяснить проще я не знаю.
То, что создавалось для Amoeba и то, что дорабатывалось для DARPA - две разных вещи. Для DARPA язык был максимально упрощён и сделан именно таким убого-ортогональным, каким мы его видим сейчас. Впрочем, DARPA не заинтересовались бы им, если бы он изначально не был слегка прямо противоположен православному принципу TMTOWTDI.
Скажем так, Пихтон изначально был языком для людей с мировоззрением путиноидов.
Речь как бы не о разработчиках (внезапно, фонде под крылышком у государства) а о заказчиках. Ну и да, Amoeba разрабатывалась для использования в госструктурах США. МинОбороны - это частный случай госструктуры.
Такое впечатление, что шестая ветка писалась каким-то хипсторами, которых выгнали из рубей(!) за неадекват(!!).
Совместимость похерена, скорость медленнее на порядки, за каким-то хеpом притащили жабью jvm, plain-типы заменили на модное ООП, добавили ЕЩЁ БОЛЬШЕ операторов, в том числе откровенно специфических, типа итерации по двум массивам сразу.
Сообщество закономерно ох$%ло и пошло дальше пилить 5ю ветку.
практики нет и не будет, язык очень сильно оторван от реальных потребностей, делался бесконечно долго и руководствуясь каким-то космосом (наркомания?). фактически язык игрушка - такое максимум может послужить генератором идей для нормального языка. познакомиться стоит, как гимнастика для мозга, но не более того.
язык очень сильно оторван от реальных потребностей
Можно какой-то пример, в чём именно язык Perl6 оторван от потребностей, а какой-нибудь TypeScript - не оторван? Что там оторванного-то? Все обычные конструкции на месте, заменены на ООП-подобные многие специфические конструкции из Perl5, за который его не любили люди с ограниченным словарным запасом и прочими типичными для пихтон-программеров проблемами. Куча новых фич появилась, включая полноценное распараллеливание потоков (ибо работа поверх VM это позволяет) и конечно promises, заменившие несколько более понятный и привычный, но всё-таки сторонний AnyEvent.
Да, производительность пока низкая, но вроде пилят. То, что приложение загружается долго - в любом реальном продуктиве не играет никакой роли, лишь бы работало быстро. Наиболее популярные в энтерпрайзе Java-приложения стартуют иногда вообще в течение минуты - и никто при этом не говорит, что Java нужно выкинуть на помойку.
Основная VM для Perl6 - это MoarVM, а не JVM, и далеко не факт, что JVM когда-то станет основной.
Относительно совместимости - просто глупость: мало того, что есть режим полной совместимости с Perl5 (где такой режим в Пихтон-3?), так ещё и как всегда, как это было и в Perl5 (Source Filter'ы), на базе Perl6 легко писать вообще на любом языке - фактически Perl6-интерпретатор может хоть BASH выполнять, внутри себя преобразуя код на BASH в код на Perl. Именно так и работает режим совместимости с Perl5.
В общем, прежде, чем писать им делать выводы, почитайте хоть что-то о Perl. Я же осилил статьи по мерзкому г*ну Пихтон.
Ну, не требуй многого от людей. По своему опыту, могу сказать, что, чтоб любить перл нужно быть немножко упоротым. Или хакером. Или упоротым хакером. Нормальным людям перл не нужен. Ни 6-й, ни 5-й. Ни свобода выражения мыслей, потому что большая ответственность и нету фана.
Perl очень подходит всем людям, у которых хотя бы один из родителей - филолог. Мне в этом отношении повезло, поэтому я получаю удовольствие от программирования на Perl. Правда, у такой наследственности есть и свои минусы: например, мне физически неприятно читать любой безграмотный текст.
Хороший код на perl — это еще меньший объем кода, чем и без того малый объем всего Perl-кода в целом. Про соотношение судить не берусь, но скажу что и объемные проекты кишат wtf-кодом. А если кто-то писал один из этих проектов попутно, изучая язык, или «для себя», то с годами, в коде (например gmusicbrowser) сам чёрт ногу сломит.
В конечном счете, разобраться новичку в этом без пол-литра тяжко, а программе нужна поддержка, чтоб оставались и прибывали юзеры, и Perl программисты были нужны (тоже прибывали и оставались). Потому, что из количества смогущих разобрать wtf-perl-код вычесть желающих сделать это — получим очень небольшое количество людей, способных изменить что-то рынке программистов для Perl.
Из костяка Perl-хакеров образуется довольно годный код, но его недостаточно, чтоб сделать Perl мэйнстримом.
Есть надежда, что новички вырастут из быдлокода/хелловордов и внесут свою лепту в сообщество Perl. А опытные пожертвуют свои силы на рефакторинг/рестайлинг своих начатых проектов, чем помогут невидавшим Perl, новичкам и опытным, всем желающим поддержать программу.
Вот так, идя навстречу друг другу, Perl, все больше перестанет быть Dead.
Deleted ()
Последнее исправление: Deleted
(всего
исправлений: 1)