Соломон Страуструбер
> А если на else begin end, то зря, потому что как раз пары if-end и end-end
> отлично обозначают границы блока.
Аналогично, строчка end else begin выделяется только из-за подсветки. Из-за отступа всего в 2 символа без подсветки она практически сольется с содержимым if.
> В сишке можно писать } else {, но это будет менее читабельно.
Когда-то так писал, теперь не нравится. Блоки хуже выделяются. Но лучше, чем end else begin из-за } {.
А, вспомнил, еще очень раздражало то, что перед else не ставится точка с запятой.
ИМХО
Само собой, когда ты пишешь на делфи чаще, чем в таких тредах, то эти проблемы перестают существовать.
Fla
> Первая проблема которую я вижу в синтаксисе паскаля - begin\end. Серьезно, без
> подсветки парных сам их хрен найдеш
problem?
Fla
> Так ничего и не сказал.
И не скажу
Fla
> Давай уже по делу, пустозвон.
Я все что считал нужным - сказал, если ты меня не понял то зачем мне "разжовывать" все что я написал?
Fla
> что такое GC и как он работает,
Поведай мне, такому неучу, как работает GC.
Fla
> Аналогично, строчка end else begin выделяется только из-за подсветки.
Да. А нафига смотреть без подсветки?
Хотя когда я начинал, я год провёл в турбопасе 6й версии, да, там подсветки не было.
Но форматирование решает.
Fla
> Из-за отступа всего в 2 символа без подсветки она практически сольется с
> содержимым if.
Мой любимый пример. Почему дельфинам 2 пробелов хватает, а сишникам - четырёх мало?
А вот потому, что фигурная скобочка намного хуже видна издали, чем жирный зелёный if
Fla
> Когда-то так писал, теперь не нравится. Блоки хуже выделяются.
Вот именно.
Fla
> Но лучше, чем end else begin из-за } {.
Но хуже, именно из-за }{
Fla
> А, вспомнил, еще очень раздражало то, что перед else не ставится точка с
> запятой.
Ну в Дельфах хоть всегда не ставится, ладно, а вот в сишке вообще не поймёшь - когда в блоке - то не ставится, а когда отдельное выражение, то ставится, ну ваще.
Fla
> pointer оттуда спокойно убирается, я его оставил что бы ты испытал все прелести
> своей строгой типизации.
Oh shi~
Не ожидал я такого от дельфей никогда и никогда. Я думал там хотя бы с этим лучше, чем в С/С++
laMer007
> Я считаю, что нужны. Но когда они легко эмулируются через именованные лямбды,
> то не вижу причин усложнять язык лишней сущностью.
Как ты представляешь себе реализацию локальных функций? Вон Кармак написал в твиттере, что мечтал бы иметь легкие локальные inline функции. Но как их технически сделать инлайн?
Fla
> struct local
> {
> static type ololo(...)
Всегда считал это уродством. Слава сиониситким богам появились лямбды и именованные лямбды. Они, конечно, и раньше были ещё в BOOST, но там сплошное ololo и я не хочу с ними иметь никаких дел.
weereew
> Поведай мне, такому неучу, как работает GC.
Ты же сам знаешь, что он по кучке байтов бегает, что мне тебе рассказывать.
Ну я типа не хочу рассказывать как он работает там много:)
В краце :
есть "куча" там хранятся данные
при вызове GC пробегается по этой куче и вычищает то что считает не нужным. бывает что он не убивает данные на которые нет ссылки, чтобы такого не было нужно указывать какой обьект больше не нужен. Этого я думаю достаточно чтобы устранить утечки на 99.99%
Открой википедию хотя бы почитай, неуч.
> если ты меня не понял то зачем мне "разжовывать" все что я написал?
Процитируй то, что ты писал и то, что считаешь объяснением, пустозвон.
Соломон Страуструбер
> Да. А нафига смотреть без подсветки?
> А вот потому, что фигурная скобочка намного хуже видна издали, чем жирный зелёный if
Потому что у вас шрифт другой, в ширину жирнее.
> Но хуже, именно из-за }{
Нет :3
> а вот в сишке вообще не поймёшь - когда в блоке - то не ставится, а когда отдельное выражение, то ставится
?
laMer007
Лямбды с замыканиями, inner function из Д7 и inner struct :: static method из крестов - без замыканий.
Соломон Страуструбер
> Мой любимый пример. Почему дельфинам 2 пробелов хватает, а сишникам - четырёх
> мало?
Лисперы смотрят на твой пример, как сам знаешь на что :/
laMer007
> Как показывает практика, у нас разрушено инженерное образование (есть мнение,
> что и образование в целом) и в этом вся причина. В университетах преподы,
> которые никогда не программировали профессионально, показывают Си, взамен С++,
> но с использованием компилятора С++.
Непонятно к чему это было сказано. Учат у нас нормально, а если даже кому-то кажется не так, то для этого должна быть своя голова. Никогда ни один вуз не будет учить так, чтобы сразу устраиваться на работу с требованием "опыт работы от 2-х лет". Срок обучения никогда в эти два года не входил. и не будет Если делать по нормальному, то пора отказываться от С++ в учебных планах, как это делают в той же америке. Судя по тому, что в программе появляются новые языки, убрать старые есть кому. Оставить только Си и ассемблер в качестве языков низкого уровня, потому что без них в програссировании точно делать нечего. А судьба С++ чётко проглядывается уже сейчас и незачем давать студентам бесполезные знания. В наше время постоянно приходится изучать новое и переучиваться. Темны смены поколений и технологий сравнялись, а в IT с самого начала технологии были впереди.
laMer007
> Не ожидал я такого от дельфей никогда и никогда. Я думал там хотя бы с этим
> лучше, чем в С/С++
Кстати, в опциях компилятора можно сделать @ типизированным и тогда этот пример работать не будет. Просто в Дельфи обычно предпочитают передавать парамтр по ссылке (var), а указатели используют именно для таких вот трюков.
Fla
> Открой википедию хотя бы почитай, неуч.
с википедии:
"Этот модуль периодически запускается, определяет, какие из созданных в динамической памяти объектов более не используются, и освобождает занимаемую ими память."
с написал:
при вызове GC пробегается по этой куче и вычищает то что считает не нужным
Больше я с тобой разговаривать не хочу, если требуеш аргументировать, а сам отправляеш на википедию, содержание которой, ктати, тебе не известно) А ну и как работает GC ты так же не знаеш:)
weereew
> определяет, какие из созданных в динамической памяти объектов более не используются
> GC пробегается по этой куче
Ты серьезно не видишь разницы? ГЦ не бегает по куче, у него есть все указатели на все объекты, а сам он первым делом проверяет их достижимость через локальные/глобальные/прочие_100%_достижимые объекты на момент вызова и указатели на них у него тоже есть.
> Больше я с тобой разговаривать не хочу, если требуеш аргументировать
Слив засчитан, пустозвон.
Пример с const'ом, я так понимаю, ты до сих пор не осилил.
Соломон Страуструбер
> Так то не ты был гостем?
нет у меня там ак есть Chaos_Optima
Fla
> Потому что у вас шрифт другой, в ширину жирнее.
Но у нас и ключевые слова жирнее, чем неключевые.
Ghost2
> Вон Кармак написал в твиттере, что мечтал бы иметь легкие локальные inline
> функции. Но как их технически сделать инлайн?
Не понимаю проблемы.
Fla
> Нет :3
ОК }:]
Fla
> ?
if(a)
b;
else
c;
if(a) {
b;
}else{ //<-тут нету ;
c;
};
0iStalker
> Лисперы смотрят на твой пример, как сам знаешь на что :/
Ну ты понел.
Тема в архиве.
Тема закрыта.