LINUX.ORG.RU

я переодически читаю RSDN, так вот я там никого не видел кто бы кричал "бейсик рулез", а тут - через одного "питон рулез" - это наверно линукс так влияет на неокрепшие мозги? :)

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

Perl - классная штука. Я вот на Си++ пишу достаточно долго, так вот пишем систему, в которой, скажем, есть некоторый enum из user-defined номерков, которые используются в неком движке. И наш BA отдел описывает из в обычном HTML. Ручками все в Си++ переводить, естественно, харет. Мне, как ленивому человеку, в голову пришло решение - генерировать .h файл по этому HTML файлу, выгребать отттуда все номера и их имена, потом делать их уникальными, чтобы не повторялись, сортировать и писать в .h файл. Сделать это, как понимаете, можно многими путями, но что может быть лучше в данном случае, чем perl? 10 строчек и есть прекрасная генерилка, perl под всеми ОС работает. В питоне все сложнее, на жабке или си вообще запаришься. 5 минут - все готово. Perl рулит. А сливы красноглазиков, что и где лучше не засчитываются.

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

90% здравых мыслей на ЛОРе - от анонимусов.

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

>я переодически читаю RSDN,

Да фто ты? Я оттуда почти не вылезаю, так вот если бы не модерировали, то "СиШарп - наше ФСЁ!" было бы не продохнуть.

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

>но что может быть лучше в данном случае, чем perl? 10 строчек и есть прекрасная генерилка, perl под всеми ОС работает. В питоне все сложнее, на жабке или си вообще запаришься.

Молодец. Ты применил перл по назначению. Надеюсь ты и дальше будешь делать так, и не будешь пихать перл во все дыры.

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

>man set-macro-character, а лучше Common Lisp HyperSpec до полного просветления

Раз. Второй пример? Пожалуй все таки слово "большинство" было слишком мягким:-)

И вообще есть ли у лиспа синтаксис - вопрос отдельный ;-)

DonkeyHot ★★★★★
()

Народ, а как вообще обстоят дела с Perl для веб на сегодня? Применяется-ли? А то на днях искал CMS, так на РНР в десяток раз больше чем на Перле. На чем вообще сейчас предпочтительнее делать сайты, порталы? Ведь у Перл очень обширная библиотека СРАНь практически на все случаи жизни, а РНР прост и очень распространен.

l07
()

Значимый whitespace в языке делает этот язык невозможным в использовании во многих специфических задачах (таких как встраивание в другой язык, где нет ограничений на whitespace, или необходимость задание кода лишь одной строкой, или свободное копирование броков из программы в программу, или автоматическое реформатирование, или многое чего еще).

Но гораздо больше разногласий по поводу философии языка. Должен ли синтакс языка быть настолько богат, чтобы прозрачно подходить под любую методологию, или напротив быть бедным и диктовать свою определенную методологию.

То что подходит для масс (Visual Basic), не подходит для хакеров, оперирующих более сложными материями.

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

> как вообще обстоят дела с Perl для веб на сегодня? Применяется-ли?

Еще как, повсеместно.

> На чем вообще сейчас предпочтительнее делать сайты, порталы?

На том языке, с которым лучше знаком. Это личное.

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

ты блин как в лужу пернул, си шарп это клон явы, причем тут питон? питон это клон бейсика. Ты блин мне еще про марсиан расскажи.

anonymous
()
Ответ на: комментарий от mihalych

>встраивание в другой язык, где нет ограничений на whitespace

Как раз наоборот. Там же нет ограничений. Проблемы только при использовании инструментов, "неправильно" обрабатывающих whitespace (типа автоматического s/ \+/ /:-). В той же степени это относиться и к другим символам - например код на любом языке со значащими "<>&" может плохо обработься SGML-редактором.

>необходимость задание кода лишь одной строкой

1. Его _можно_ задать одной строкой. Вопрос в определении строки - проблемы возникают _только_ с "последовательность символов, ограниченая '\n'-ом" - иначе все ОК.

2. Могу спорить, что данное ограничение _всегда_ является избыточным.

>свободное копирование блоков из программы в программу или автоматическое реформатирование

Кто сказал, что редактор должен не знать, как _правильно_ копировать/форматировать такой код и не иметь хорошо работающую ф-ю indent для блока?

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

> встраивание в другой язык, где нет ограничений на whitespace

а пример проблемы можно?

> необходимость задание кода лишь одной строкой

А \n или ~% уже везде запретили? Опять же пример, где нельзя обойти

> автоматическое реформатирование

а AST не поможет?

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

> Раз. Второй пример? Пожалуй все таки слово "большинство" было слишком мягким:-)

Где я говорил "большинство"?

> И вообще есть ли у лиспа синтаксис - вопрос отдельный ;-)

Есть. Следует из самого понятия "синтаксис".

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

> Народ, а как вообще обстоят дела с Perl для веб на сегодня?

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

Мне тут недавно пришлосьт поковырять osCommerce - так вот такого говна я давно уже не видел. Это к тому что на пхп пишут все кому не поподя. А ЦМС на перле найти очень просто - для этого есть гугль.

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

> При этом почему так происходит - мне не понятно,

Просто за Java, C#, PHP стоят компании, вот эти языки и вталкиваются.

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

Когда мне приводят такие аргументы (текстовый редактор должен быть умным, и варить ужин), то хорошего спора не выйдет.

Ну как объяснить, что пробелы тем и отличаются от других символов, что они невидимы. Абсолютно невидимы, то есть где-то 2 или 3 сантиметров пустоты. Если язык их видит и заставляет невидимые символы в качестве значимого синтакса использовать, то такой язык разбивает все негласные правила.

Ну, это как если бы Албанский язык заставлял ставить "\n" в конце предложения, между словами один пробел, а вместо тире - два пробела, вместо двоеточия три пробела. Ну кому был бы нужен такой язык? Взгляните на газету и вы увидете как пробелы используются по назначению.

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

>Если язык их видит и заставляет невидимые символы в качестве значимого синтакса использовать, то такой язык разбивает все негласные правила.

А ты попробуй написать что-то на питоне. Нет у питона проблем с отступами. Это миф.

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

> Просто за Java, C#, PHP стоят компании, вот эти языки и вталкиваются.

Я не про это.

Я про то что, в общем перл и пхп отличаются не сильно, но почему каждый гопник стремится напрограммировать на пхп - мне не понятно, почему именно на пхп а не на перле? почему не на обоих языках? пхп - магнит для гопников.

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

> Я про то что, в общем перл и пхп отличаются не сильно

Всё относительно. Для Perl эксперта, PHP выглядит слишком непродумано. http://tnx.nl/php

На самом деле, всё просто. PHP хорош для copy-pasteров, берешь HTML, открываешь какой-то код написанный кем-то другим, copy-paste, и готова страничка. Ни тебе многократно используемый модуль писать надо, ни заботиться о разделении содержимого и представления, все радости в одном флаконе. Правда с Apache::ASP аналогично работать можно, да и дезайн там продумал получше, чем PHP, но хорошо, что об этом не все знают. Не хватало еще, чтобы Perl стал доступен для широких масс. :) Для этого придуманы другие языки на ту же букву. :-)

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

> А ты попробуй написать что-то на питоне. Нет у питона проблем

А почему ты решил, что я не знаю Питон? Думаю, я знаю его получше средне-статистического питониста. Просто я еще с десяток языков неплохо знаю, есть с чем сравнить.

mihalych ★★★
()

михалыч, а что перл что ли недоступен? перл явно не сложнее пхп, я не спорю что перл лучше чем пхп, я лишь утверждаю что эти языки не столь координально различаются как на пример пролог и ассемблер.

anonymous
()
Ответ на: комментарий от mihalych

mihalych, тебя заебало программирование и ты просто морализаторствуешь.

anonymous
()
Ответ на: комментарий от mihalych

Тебя просили написать что-нибудь, а не читать туториалы. То что ты написал про питон - бред, нет таких проблем (вообще нет).

bmc
()
Ответ на: комментарий от vilfred

> отдел это от слова "от дел[подальше]"? :)

Не. отдел это от словосоч. "от нефиг дел. [ать]"

BottleHunter
()
Ответ на: комментарий от Begemoth

>Где я говорил "большинство"?

Это я говорил:-) "...качество синтаксиса *большинства* языков окажется ниже плинтуса..."

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

ПХП и перл похожы по синтаксису это да, но идеология у яхыков совсем другая. перл это язык свободы, на нем можно делать что угодно и как угодно в разумных пределах конечно. пару лет назад видел даже графическую оболочку на перле, незнаю довели до ума или нет. главная идеология перла в том что нет этой идеологии. на счет 6 перла давно про него слышал O'relly отдельную брошюрку даже про изменения выпустил и вродеб даже перевод русский есть (сам на английском читал. незнаю, для меня это не язык а песня какаято хотя врбал в него довольно долго, сначала просто не понимал просто зачем все ээто ПХП сказкой казалсяЮ но теперь блин, у меня даже все системные скрипты на перле написаны, я уже bash забывать начал

anonymous
()
Ответ на: комментарий от mihalych

>Когда мне приводят такие аргументы (текстовый редактор должен быть умным, и варить ужин), то хорошего спора не выйдет.

Не "должен быть умным" - а может не быть тупым. Скорее всего "беспроблемный" перенос кусков кода невозможен в общем случае не только в indentо-чувствительных языках - например по причине коллизий в именах, неподдержки вложеных ф-й/обьектов, и т.д. - просто в этом случае вероятность правильного парсинга отличается.

>пробелы тем и отличаются от других символов, что они невидимы

Кстати, там синтаксис чувствителен не к невидимым пробелам, а к "отступу" от начала строки - он как раз вполне заметен (если есть соседняя строка). Кстати, официальные правила оформления русских текстов вполне себе использ-уют(-овали, когда я его учил) отступ для выделения блоков(т.н. параграфы). Ну кому нужен такой язык? Все на ложбан!?

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

>> IMHO, язык, в которм логическая структура зависит на количестве табуляторов, имеет не более будущего

>Обосновать можешь?

Фактически выходит, что ты должен в КАЖДОЙ строке кода указывать, к какому логическому уровню она относится. Почему-то сразу возникают асоциации с классическим бэйсиком с нумерацией строк:)

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

>Фактически выходит, что ты должен в КАЖДОЙ строке кода указывать, к какому логическому уровню она относится.

Т.о. получается, что пайтон - ни разу не высокоуровневый язык, раз в каждой строке нужно обозначать её логический уровень :( ИМХО даже в ассемблере с этим попроще (указать начало и конец логического блока)...

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

>ты должен в КАЖДОЙ строке кода указывать, к какому логическому уровню она относится

И что? В том же перле ты должен при каждом использовании переменной указывать её тип, а в C/C++/Java - при каждом создании обьекта _и_ при каждом обьявлении переменной.

indent намного проще, потому "уровень" обычно отслеживает редактор, человеку нужно только _иногда_ указывать на его изменение. Кроме того появляется стимул _не_ писать слишком большие и глубокие куски.

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

> Тебя просили написать что-нибудь, а не читать туториалы.

Оставь, у меня не меньше твоей практики. Я не обсуждаю того, чего не знаю или не умею.

> То что ты написал про питон - бред, нет таких проблем (вообще нет).

Какой ты категоричный, однако. :) Для тех задач, что *ты* решаешь, у тебя с ним проблем нет, я рад за тебя. Как видно тебе никогда не нужно было добавлять python scripting над command-line based интерфейсами, ну не годится синтакс питона для таких вещей. Для разминки попробуй пару conditions в одной строке написать. Почитай Гвидо, он сам утверждает, что преднамерено создал синтакс ограничивающий свободу программистов, потому как всегда есть лишь один правильный путь делать вещи.

Если ты хакер (надеюсь), советую проникнуться настоящим артом и свободой в программировании, могу посоветовать книжки подобные "The Best of the Perl Journal: Games, Diversions, and Perl Culture".

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

>В том же перле ты должен при каждом использовании переменной указывать её тип

Пролемы перла здесь не в тему, нефиг сюда перл приплетать:)

>в C/C++/Java - при каждом создании обьекта _и_ при каждом обьявлении переменной.

Это проблемы C/C++/Java - у них другие "проблемы" (если именно это - проблемы). В любом случае, переменный и объекты не объявляются в КАЖДОЙ строке:)

>indent намного проще

Ты имеешь ввиду indent(1)? Да, этот подход намного проще:)

>потому "уровень" обычно отслеживает редактор

Дык, в не-python языках редактор тоже отслеживает уровень - не знал?:)

>человеку нужно только _иногда_ указывать на его изменение.

А если не "иногда"?

>Кроме того появляется стимул _не_ писать слишком большие и глубокие куски.

...и стимул не писать на пайтоне:) Особенно что-то, что не помещается в один экран редактора.

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

> В том же перле ты должен при каждом использовании переменной указывать её тип

бред, тип переменной сам определяется в зависимости от контекста использования

# присвоили символьный:

$a = "1";

# стал цифровым:

$a += 2

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

> Кроме того появляется стимул _не_ писать слишком большие и глубокие куски.

Я бы даже сказал, что Питон *заставляет* писать множество мелких никому не нужных функций, только потому, что разобраться в более, чем 3-ех уровнях (на более, чем одной странице кода) практически невозможно в этом языке.

> Кстати, официальные правила оформления русских текстов вполне себе использ-уют(-овали, когда я его учил) отступ для выделения блоков(т.н. параграфы).

Но ведь и без офформления отступами (что приятно для чтения), русский остается русским, и от количества невидимых знаков и разбиения тем или иным способон на строки не зависит. А вот питон зависит. Убери невидимый отступ, и уже другая программа. Так что питон не дотягивает до великого могучего. А вот C-подобные языки дотягивают.

> Ну кому нужен такой язык? Все на ложбан!?

do zo'e la lojban. tavla la lojban.

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

>Но ведь и без офформления отступами (что приятно для чтения), русский остается русским, и от количества невидимых знаков и разбиения тем или иным способон на строки не зависит.

Естественно. В русском языке "логические блоки" крупнее слова выделяются не пробелами, а знаками НАЧАЛА и ОКОНЧАНИЯ этого блока. Для предложения - большая буква вначале и точка, !, ?, ... в конце. для абзаца - отступ вначале и \n в конце.

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

>Пролемы перла здесь не в тему, нефиг сюда перл приплетать:)

См. subj.

>Ты имеешь ввиду indent(1)

Нет. Я имею ввиду, что "автоматическое" отслеживание редактором кол-ва пробелов в начале строки, гораздо проще, чем угадывание им выбора из [$@&] перед перловыми именами, автодополнениям типов/параметров, пр.

>Дык, в не-python языках редактор тоже отслеживает уровень - не знал

А я о чем?

Для тех, кто в танке - спор о том, что indent-based синтаксис достаточно удобен для практического применения. Единственное прозвучавшее до сих пор _стоящее_ исключение - это попытка построения shell-оподобного приложения _без_ тривиальной "редакторской" поддержки. А _почему_ её не должно быть?

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

>Для тех, кто в танке - спор о том, что indent-based синтаксис достаточно удобен для практического применения.

"Для тех, кто в танке": indent-based синтаксис достаточно удобен для практического применения практически в ЛЮБОМ языке программирования (даже в Forth):)

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

>отслеживание редактором кол-ва пробелов в начале строки, гораздо проще, чем угадывание им выбора из [$@&]

Зачем угадывать? нужно просто знать:) К тому же лексических единиц типа "@@@@@@", "@@@", "@@@@@@@@@@@@" даже в перле нет:)

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

> И что означает '$'?

То что ты считаешь недостатком, для меня великое преимущество языка. Три фундаментальных вида данных, объект, массив объектов и хэш объектов присутствуют почти во всех динамических языках. Но только в Perl эта фундаментальная концепция выражена на уровне синтаксиса.

$var - что-то одно типа X

@var - много чего-то типа X

%var - много чего-то типа X, поименно

Кстати, возвращаясь к топику, в Perl 6, это понятие не только оставлено, но и выведено на новый уровень. Ключами хэша могут быть не только стринги, но и любые объекты подчиняющиеся определенному интерфейсу (как в Питоне). Синтаксис массива чуточку изменен для постоянства. Perl 5: $objects[2], $dictionary{mother}. Perl 6: @objects[2], %dictionary{mother}.

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

> И что означает '$'?

Тип контейнера, в данном случае - скаляр. У каждого типа контенеров свой namespace, кстати - поэтому @a, $a и %a - разные вещи.

anonymous
()
Ответ на: комментарий от mihalych

>Питон *заставляет* писать множество

Всё таки не заставляет а стимулирует.

>разобраться в более, чем 3-ех уровнях (на более, чем одной странице кода) практически невозможно в этом языке

А в других?

>Но ведь и без офформления отступами русский остается русским

Не уверен, что смысл остаётся тем же.

>do zo'e la lojban. tavla la lojban.

na go'i ki'u ledu'u la lor. ruskо

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

>Фактически выходит, что ты должен в КАЖДОЙ строке кода указывать, к какому логическому уровню она относится. Почему-то сразу возникают асоциации с классическим бэйсиком с нумерацией строк:)

Господа, придравшиеся и отступам в Python вы похоже кроме отступов вы ничего интересного не заметили? Или вы из тех кто любит писать вот так:

function myverycoolfunction(how_much_im_cool)
{
for
(
i=0;
i<how_much_im_cool;
i++
)
{
for (
j=0;
j<how_much_im_cool;
j++
{
print "I'm cool, i'm realy cool!";
}
}

???????????????

Или может быть вот так:
function myverycoolfunction(how_much_im_cool){for (i=0;i<how_much_im_cool;i++){for(j=0;j<how_much_im_cool;j++{print "I'm cool, i'm realy cool!";}}

???????????????

Мне лично идея с отступами в Python очень понравилась, потому что такой идиотский код просто не будет работать, это будет дисциплинировать даже быдлокодеров и этот код будет даже читаем, ну и кроме того это просто приводит к тому что понятие Coding Style исчезает. Сомневаюсь что захотев принять участие в каком либо проекте на Python вы увидите такую муйню:
http://developer.gnome.org/doc/guides/programming-guidelines/code-style.html

Надо быть идиотом чтобы не видеть преимуществ этого подхода. А насчёт встраивоемости Python - так он на сегодняшний день наверное самый встраиваемый.

Ubnormal
()
Ответ на: комментарий от mihalych

>>И что означает '$'?

Да знаю я, что оно означает. Но ты _должен_ это указывать при _каждом_ использовании переменной. И редактор тебе не поможет.

>Три фундаментальных вида данных, объект, массив объектов и хэш объектов

Кстати, их не три, а то ли около 6ти. (насколько я помню есть еще *,\,& ). А в питоне всего лишь безопидный автоматически-вставляемый пробел в начале строки:-)

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