Старый 25.06.2009, 00:07   #1
Мне повезёт!
 
Аватар для Alexey
 
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 276
Alexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущее
По умолчанию Странное новшество в PHP 5.3

В него добавили... *барабанная дробь* - оператор GOTO!

А из других языков его наоборот вычищают и в любой книжке пишут что им лучше не пользоваться...
__________________
Everything will be great in the end.
If it's not great, it's not the end.
Alexey вне форума   Ответить с цитированием
Старый 25.06.2009, 00:10   #2
Серьезный бизнес.
 
Аватар для Jimi Dini
 
Регистрация: 07.03.2008
Адрес: localhost
Сообщений: 2,254
Вес репутации: 319
Jimi Dini - прекрасное будущееJimi Dini - прекрасное будущееJimi Dini - прекрасное будущееJimi Dini - прекрасное будущееJimi Dini - прекрасное будущееJimi Dini - прекрасное будущееJimi Dini - прекрасное будущееJimi Dini - прекрасное будущееJimi Dini - прекрасное будущееJimi Dini - прекрасное будущееJimi Dini - прекрасное будущее
Отправить сообщение для Jimi Dini с помощью ICQ
По умолчанию

Цитата:
Сообщение от Alexey Посмотреть сообщение
В него добавили... *барабанная дробь* - оператор GOTO!

А из других языков его наоборот вычищают и в любой книжке пишут что им лучше не пользоваться...
ни в PHP ни в дельфях (object pascal) не использовал.
только на ASM


__________________
qwsa.ru - подъем по НЧ и СЧ, ускорение индексации
подписка на список прокси - prxy.ru
aswq.ru - обучение вебмастеров
Jimi Dini вне форума   Ответить с цитированием
Старый 25.06.2009, 00:16   #3
Эксперт
 
Аватар для Al Pacino
 
Регистрация: 09.05.2008
Адрес: ПГ
Сообщений: 1,704
Вес репутации: 0
Al Pacino имеет ошибки в прошлом
По умолчанию

Цитата:
Сообщение от Alexey Посмотреть сообщение
А из других языков его наоборот вычищают и в любой книжке пишут что им лучше не пользоваться...
нифига его не вычищают - C# С++ Delphi ADA - все они имеют goto и прекрасно с ним уживаются.

Это дейкстра понтуется: "данная концепция противоречит структурному программированию", а на самом деле очень полезный оператор, иногда без него не обойтись. Главное с умом делать.
__________________
есть тема?
Al Pacino вне форума   Ответить с цитированием
Старый 25.06.2009, 01:15   #4
Добрый модератор
 
Аватар для zhegloff
 
Регистрация: 09.07.2007
Адрес: глобус Украины
Сообщений: 27,600
Вес репутации: 1025
zhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущее
По умолчанию

Цитата:
Сообщение от Alexey Посмотреть сообщение
В него добавили... *барабанная дробь* - оператор GOTO!

А из других языков его наоборот вычищают и в любой книжке пишут что им лучше не пользоваться...
Ввели для выявления афропрограммистов
__________________
Установка кода сапы от $9.95. Пишите в личку.
Правильный хостинг.
В личке бесплатно не отвечаю обычно.
zhegloff вне форума   Ответить с цитированием
Старый 25.06.2009, 09:18   #5
Эксперт
 
Регистрация: 23.09.2008
Адрес: Самара
Сообщений: 4,885
Вес репутации: 381
alex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущее
Отправить сообщение для alex063 с помощью ICQ
По умолчанию

Цитата:
Сообщение от Alexey Посмотреть сообщение
А из других языков его наоборот вычищают и в любой книжке пишут что им лучше не пользоваться...
Ну согласитесь, в некоторых случаях, правда очень редких код с ним проще можно сделать.
__________________
Продвижение и поддержка сайтов. Актуальное портфолио. Отзывы. ICQ: 407354474.
alex063 вне форума   Ответить с цитированием
Старый 25.06.2009, 09:34   #6
Вредина
 
Аватар для Jooz
 
Регистрация: 03.07.2007
Адрес: д.Коноплянка
Сообщений: 3,535
Вес репутации: 432
Jooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущее
По умолчанию

Я знал что введут еще с августа прошлого года (тогда было заявлено что есть планы), все опупели от такого заявления. Сколько было споров даже представить сложно.
Al Pacino, обойтись без него можно ибо switch давно придуман, делай структуру да прыгай как вздумается. Именно так например и мотивировал Расмус Лердорф что goto ни когда не будет в PHP. Но раз планы появились, то и "никогда" превратилось в успешную реализацию. Был просто аргумент в пользу ввода, кстати такой аргумент многие в рамках сапы используют когда просят ту или иную муть. Тем кому он не нужен, не кто не заставляет юзать. А кому уж так хочется - нате.
Я лично, раз он появился буду использовать весь арсенал операторов в том числе и goto, совершенно не стесняясь этого. К слову сказать, как сертифицированный разработчик Lotus Domino баз данных и LotusScript goto юзаю давно именно в этих средах, не смотря на то, что можно обойтись и без них если посидеть раза в 2-3 больше на кодом.

Простой пример, когда Goto легко позволяет выйти из функции без критической ошибки, получить эту ошибку как описательно так и в кодовом значении.

Sub Click(Source As Button)
On Error Goto ErrHandle
Dim s As New NotesSession
Dim db As NotesDatabase
Dim newdoc As NotesDocument
Dim w As New NotesUIWorkSpace
Dim item As NotesItem
Dim rt As NotesRichTextItem
Set w = New NotesUIWorkSpace
Set uidoc = w.CurrentDocument
Set doc = Uidoc.Document
....
....
Exit Sub
ErrHandle:
Print {ActonSend-> Click: } & Error$(Err()) & { (} & Err() & {) in line: } & Erl()
End Sub

Таким образом где бы в коде не произошла ошибка, у меня не будет кривых "недопустимая операция", "переполнение буфера" и других модальных и не модальных херовин, у меня будет полный контроль над процессом без множественных проверок на каждом этапе вычисления. А функций в типовой лотусной приложухи мама не горюй и это только под толстого клиента, а если еще намутить под тонкого ... в общем проецируя на PHP уже отчетливо вижу как его использовать и как упростить себе жизнь.
__________________
Чтобы произошло чудо нужно обязательно дунуть. Если не дунуть - чуда не произойдет!
Jooz вне форума   Ответить с цитированием
Старый 25.06.2009, 10:19   #7
Эксперт
 
Регистрация: 04.06.2007
Сообщений: 1,448
Вес репутации: 267
Anatoly - прекрасное будущееAnatoly - прекрасное будущееAnatoly - прекрасное будущееAnatoly - прекрасное будущееAnatoly - прекрасное будущееAnatoly - прекрасное будущееAnatoly - прекрасное будущееAnatoly - прекрасное будущееAnatoly - прекрасное будущееAnatoly - прекрасное будущееAnatoly - прекрасное будущее
По умолчанию

Делал программы без goto (там, где его нет) и c goto (там, где оно есть). Потому что реально в некоторых (редких) местах легче поставить goto и не выёживаться.
Anatoly вне форума   Ответить с цитированием
Старый 25.06.2009, 11:18   #8
Мне повезёт!
 
Аватар для Alexey
 
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 276
Alexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущее
По умолчанию

Цитата:
Сообщение от alex063 Посмотреть сообщение
Ну согласитесь, в некоторых случаях, правда очень редких код с ним проще можно сделать.
Приведите пример, пожалуйста...
__________________
Everything will be great in the end.
If it's not great, it's not the end.
Alexey вне форума   Ответить с цитированием
Старый 25.06.2009, 11:36   #9
Эксперт
 
Регистрация: 23.09.2008
Адрес: Самара
Сообщений: 4,885
Вес репутации: 381
alex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущееalex063 - прекрасное будущее
Отправить сообщение для alex063 с помощью ICQ
По умолчанию

Цитата:
Сообщение от Alexey Посмотреть сообщение
Приведите пример, пожалуйста...
Конкретный лень отрывать. Но думаю, что даже в сети их будет куча и на спец. форумах это сто раз уже обсуждалось. Но помню ещё в универе нам долбили, что всё таки goto может облегчить жизнь. Jooz, же привёл пример.
__________________
Продвижение и поддержка сайтов. Актуальное портфолио. Отзывы. ICQ: 407354474.
alex063 вне форума   Ответить с цитированием
Старый 25.06.2009, 11:42   #10
Мне повезёт!
 
Аватар для Alexey
 
Регистрация: 05.05.2007
Сообщений: 1,076
Вес репутации: 276
Alexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущееAlexey - прекрасное будущее
По умолчанию

То, что он привет, если переложить на c-like язык, то эт оскорей пример не GOTO, а

try {
....
} catch (...) {
....
}

Т.к. у него используется именно в этом смысле. Я же прошу пример применения именно GOTO в его настоящем смысле.

GOTO как правило используется для оптимизации производительности, т.к. компилятором транслируется в ультра-быструю инструкцию JMP. Однако, такого рода оптимизации требуются только при программировании на компилируемых языках и разве что при разработке систем реального времени или для мобильных устройств.
__________________
Everything will be great in the end.
If it's not great, it's not the end.
Alexey вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странное наблюдение.. opel Курилка 10 30.09.2008 18:00
Странное начисление....... maxispeed Ошибки при работе с системой 11 10.05.2008 05:13
Странное отображение ссылки Маленькая сосна Вопросы от новичков 0 28.01.2008 13:01
Что то странное Setas Вопросы от новичков 2 25.01.2008 15:01
Что-то странное творится 117195m Вопросы по работе системы 1 18.06.2007 23:06


Часовой пояс GMT +3, время: 03:58.