| Comments: |
Был бейсик, теперь PHP, кто следующий?
![[User Picture]](http://l-userpic.livejournal.com/38826753/752330) | From: e_mir 2009-06-23 08:10 pm none (UTC)
| (Link)
|
Ну, сначала был таки Фортран.
А где он может пригодиться?
очевидно же - для передачи управления на указанную строку указанного файла:
goto /var/www/site/admin.php 303
![[User Picture]](http://l-userpic.livejournal.com/1187679/123760) | From: stas 2009-06-24 04:52 am none (UTC)
Re: Хмм | (Link)
|
парсеры писать во всяком случае, так это мотивировали те, кто его запросил
![[User Picture]](http://l-userpic.livejournal.com/27932535/6616454) | From: ygam 2009-06-23 08:18 pm none (UTC)
| (Link)
|
![[User Picture]](http://l-userpic.livejournal.com/81048954/111931) | From: avva 2009-06-23 08:27 pm none (UTC)
| (Link)
|
Хаха, какая прелесть. Не знал о нем.
Оператор для Настоящих Программистов (ТМ).
Если в бочку говна добавить ложку говна, что изменится ?
Про негра - это из какого анекдота?
![[User Picture]](http://l-userpic.livejournal.com/27932535/6616454) | From: ygam 2009-06-23 08:34 pm none (UTC)
| (Link)
|
В Нью-Йорке в метро сидит негр и читает газету на идише. Мимо проходит еврей, и говорит: ...
лишь бы обидеть... А может кому-то надо?
Кому, как известно, и кобыла - невеста.
а я сегодня в коде на C обнаружила likely и unlikely :)
From: (Anonymous) 2009-06-25 05:32 am none (UTC)
| (Link)
|
Они в ядре «Линукс» используются повсеместно.
ну, возможность делать goto по номеру строки из выражения была ещё на спектруме. Там ещё можно было делать go sub с переменной. ..Вычисляемой через $eval.
![[User Picture]](http://l-userpic.livejournal.com/1161877/286772) | From: emdin 2009-06-23 09:49 pm none (UTC)
| (Link)
|
вот и правильно. не то OOP stuff; он был крайне неловко втиснут.
![[User Picture]](http://l-userpic.livejournal.com/82719884/279964) | From: ostap 2009-06-23 09:50 pm none (UTC)
| (Link)
|
По-моему давно пора. Мне всегда казалось, что в PHP чего-то нехватает для полной гармонии. А теперь он приобрёл логическую завершенность.
Полная гармония - в сомещении пхп и javascript. О_о... ПОЛНАЯ гармония...
Не могу поверить, что раньше его не было. Как же без него умудрялись писать макаронный код?
![[User Picture]](http://l-userpic.livejournal.com/67911781/4836532) | From: lasc 2009-06-23 11:10 pm none (UTC)
| (Link)
|
мы так мучались, но теперь то заживем!
В связи с финансовым кризисом гранты не дают, физики переквалифицировались в веб-программисты, с фортрана на php :-)
![[User Picture]](http://l-userpic.livejournal.com/81401378/1600302) | From: tty01 2009-06-24 03:57 am none (UTC)
| (Link)
|
А фон у этой странички нарочно такой сделан, чтобы никто ни о чем не догадался?
From: potan 2009-06-24 06:28 am none (UTC)
| (Link)
|
Единственное достоинство пхп - популярность. И им, из-за этого, приходится пользоваться. Лучший способ при этом не проблевать - использовать какой-нибудь компилятор нормальный язык в пхп. А бекенду компилятора в целевой платформе goto полезен.
![[User Picture]](http://l-userpic.livejournal.com/8350358/1427097) | From: and2u 2009-06-24 06:46 am none (UTC)
| (Link)
|
Ааа! Никогда не используй goto (цы) :-)
Интересно, какой же скриптовый веб язык считается "нормальным"?
после того как я обнаружил, что: (float)(string)(float)"1.5" != 1.5
прекратил пользоваться пхп совсем ибо это ни в какие ворота не лезет
Вообще, программирование это не только искусство в себе, но и инструмент, призванный решать конкретные задачи. С этой точки, гибкости и простоте решения задач при помощи PHP остальные языки могут только позавидовать. И даже goto, не является таким уж злом, как вдалбливают при обучении программированию. С точки зрения красоты кода - да, но не как быстрое решение конкретной задачи.
Вот-вот. :-) Вряд ли Дейкстре нравилось, что идею подняли чуть ли не на знамена инквизиции. Хотя как знать.
From: (Anonymous) 2009-06-26 05:28 pm none (UTC)
goto is considered helpful. In my book. | (Link)
|
Когда-то, к 1970м, с развитием железа и т.д. программирование доросло до нужды писать более длинные программы. Естественно, им надо было придавать "структуру". Возникло движение за отрицание старых приемов работы, где экстремистом-лидером стал Дийкстра. Символом старого плотного кода, на который повесили ярлык "спагетти-кода" он (сознательно ли или нет) выбрал один оператор, GOTO, который якобы был главным виновником того, что у программ создавалась запутанная структура. Лозунгом движения стала фраза "Goto is considered harmful".
"Structural programming" с операторами ветвлений и процедурами, было успешно внедрено, а GOTO стал главным программистским табу: практически каждый автор каждого курса программирования вспоминал о нем ровно один раз, давая пример, страшно после него извиняясь и посыпая голову всеми скопившимися запасами пепла, и объясняя что "все это можно реализовать без goto". Религия оказалась удивительно жизнестойкой - я читал статьи 95-2000 годов где "изучалось" какими структурами (логически неочевидными и дико громоздкими) можно заменить такие-то использования goto. Еще лучше идолопоклонничество показывают отклики под этой заметкой: только двое оказались при своем мнении, остальные выступили как стадо леммингов.
Интересно, что кроме экстремиста-Дийкстры были и умеренные. Donald Knuth написал в ответ статью "программирование с оператором goto", где дотошно разбирал разные примеры его применения и оценивал сравнительную эффективность идиом, с или без goto.
ЕЩЕ БОЛЕЕ ИНТЕРЕСНО, ЧТО история с GOTO, который надо считать вредным, получила отклик к 1980м. Приняв как и все новую парадигму, Structural Programming, Дональд Кнут остался внутренне недоволен такой процедурой программирования, и выдумал свой способ, который он подавал как отдельную противостоящую парадигму, "Literate Programming". Можно использовать встроенные процедуры поскольку это эффективно, но процентов 90 делений программы на куски делается человеком чтобы не запутаться, и машине они не были бы нужны (так, "оптимизирование" включает в себя разворачивание циклов или подпрограмм). Literate Programming позволяет с помощью системы макро на естественном человеческом языке (вроде того, как объясняют идеи с помощью псевдокода) не потеряться, следить за мыслью на нескольких уровнях абстракции, и генерировать потом output из человечески понятного в машинный.
ВТОРОЕ ИНТЕРЕСНОЕ ЗАМЕЧАНИЕ заключается в том, что в истошности борьбы с GOTO революционеры СТруктурного Программирования не заметили, что структурирование, очень внятное, равносильное делению, скажем, на подпрограммы, можно делать именно с оператором GOTO. При этом (что признали даже они сами) он выполняется БЫСТРЕЕ (as there is less overhead), по крайней мере в C.
GCC extension, вычисляемые метки, позволяет вводить элемент программирования более высокого уровня. Я, помню играл с этим в PErl'е чтобы попробовать идею - и да, получается гибко и удобно, и этими приемами можно даже делать объекты с encapsulation, которую обеспечивают простые фигурные скобки, в противовес громоздким кошмарам Ларри и неуклюжести of the default scheme.
Люди, понимающие подобное, пользуются goto вполне свободно. Например университетская разработка языка логического программирования с типами, Mercury, использует в implementation именно вычисляемые метки GOTO, которые им предоставляет GCC.
So in my book, GOTO is considered helpful. And 30-year-old religious sects and their sectarian taboos can go to hell. Amen.
From: (Anonymous) 2009-11-02 09:01 pm none (UTC)
Re: goto is considered helpful. In my book. | (Link)
|
Откуда этот шедевр? Меня конкретно достали эти противники GOTO, начитавшиеся книжек по рефакторингу и считающие себя теперь умнее всех других! | |