The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +1 +/
Сообщение от opennews (??), 29-Мрт-11, 15:07 
Состоялся (http://lazarus.freepascal.org/index.php/topic,12589.0.html) релиз новой стабильной версии интегрированной среды разработки Lazarus 0.9.30 (http://lazarus.freepascal.org), основанной на компиляторе FreePascal 2.4.2 (http://freepascal.org/). Готовые установочные пакеты с Lazarus для различных платформ и архитектур можно загрузить здесь (http://sourceforge.net/projects/lazarus/files/).


Из изменений в Lazarus 0.9.30 (http://wiki.lazarus.freepascal.org/Lazarus_0.9.30_release_no... можно отметить:


-  LCL:


-  Поддержка буфера обмена для платформы Windows CE;
-  Интерфейсы GTK2 и GTK1 разделены. GTK1 более не поддерживается,
но сторонние патчи все еще принимаются;
-  fpGUI: LCL-интерфейс к fpGUI теперь поддерживает все компоненты со стандартной страницы;
-  Qt: реализована поддержка Haiku
-  Размещение и автоматический размер компонентов приведен к единообразному виду для всех наборов виджетов, улучшено межплатформенное отображение сложных форм;
-  Добавлена ...

URL: http://lazarus.freepascal.org/index.php/topic,12589.0.html
Новость: http://www.opennet.me/opennews/art.shtml?num=30063

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  –3 +/
Сообщение от Аноним (-), 29-Мрт-11, 15:07 
Господи, кто-то еще этим пользуется?
Ответить | Правка | Наверх | Cообщить модератору

3. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +3 +/
Сообщение от Vitaly_loki (ok), 29-Мрт-11, 15:36 
Delphi-мигранты?
Ответить | Правка | Наверх | Cообщить модератору

5. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +2 +/
Сообщение от Dmitry (??), 29-Мрт-11, 16:42 
> Господи, кто-то еще этим пользуется?

Конечно пользуются. И килобаксы на этом зарабатывают. В то время, как доблестные Анонимусы пишут систеиы, уровня R/3 на ассемблере.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору
Часть нити удалена модератором

9. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +3 +/
Сообщение от Аноним (-), 29-Мрт-11, 19:14 
Дык, Си тяжеловат для студентов, не говоря уже про C++, а всякие питоны у нас в стране не больно известны - их не скачаешь с торрентов в ultimate edition с кряком
Ответить | Правка | Наверх | Cообщить модератору

17. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от ананим (?), 30-Мрт-11, 00:42 
>p.S. Линия Виртовских языков классная, простая, логичная. Мля, ну когда же создадут компилеры для модул/оберонов с достаточным количеством библиотек?

это вы кого спрашиваете? неужто сишнегов?
да ещё с этим:
>p.S. Линия Виртовских языков классная, простая, логичная.

вот когда вы собсно это всё сделаете то?

Ответить | Правка | Наверх | Cообщить модератору

21. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  –1 +/
Сообщение от User294 (ok), 30-Мрт-11, 08:30 
> Конечно пользуются. И килобаксы на этом зарабатывают.

К счастью вымирают уже. Потому что нормальный софт на дельфях найти - нереально почти. Дельфи - это 99% гарантия того что программа на ней - отборный образец говнокода и быдлокодерских технологий ака "во, напрограммил: расставил кнопки на форме".

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

16. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от yantux (??), 29-Мрт-11, 22:58 
Ну я пользуюсь:
http://lazarus.su/downloads/explorer-picture-resize.html
http://lazarus.su/downloads/simplecalc.html
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

2. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +4 +/
Сообщение от Аноним (-), 29-Мрт-11, 15:18 
Еще как пользуются!!!
Ответить | Правка | Наверх | Cообщить модератору

4. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +4 +/
Сообщение от Cybister (?), 29-Мрт-11, 16:02 
Если быстро что-то мелкое кроссплатформеное - самое-то.
Ответить | Правка | Наверх | Cообщить модератору

7. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от Аноним (-), 29-Мрт-11, 17:40 
Года 4 назад нужно было скомпилить какую-то либу из дельфийского исходника. Искать диск с ворованным дельфи7 было лень, скачал лазарус, поковырял, скомпилил, подумал круто получилось. С си-шной прогой нифига не заработало, но сам Лазарус очень порадовал.
Два года назад уже на линухе потребовалось скомпилить какую-то прогу из дельфийского исходника. Поковырял, обплевался, нифига не заработало.
Сейчас даже не знаю как на это реагировать.
Ответить | Правка | Наверх | Cообщить модератору

14. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +1 +/
Сообщение от Программист (?), 29-Мрт-11, 21:45 
В этой версии серьезно доработали конвертор Delphi проектов
Ответить | Правка | Наверх | Cообщить модератору

19. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от anonymous vulgaris (?), 30-Мрт-11, 02:31 
> Два года назад уже на линухе потребовалось скомпилить какую-то прогу из дельфийского  исходника. Поковырял, обплевался, нифига не заработало.

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

Кстати если вы думаете что ц++ код всегда легко портируется так это не так.

> Сейчас даже не знаю как на это реагировать.

Никак. Продолжать и дальше писать суперкод типа fuck[{{}}]<срл>>>^&**p(_btgbr)====?*№" на радость 294юзеру который от него тащиться будет. Впрочем нельхя не признать что усовершенствования паскаля потихоньку тянут его синтаксис в ту же сторону.

Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

22. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  –4 +/
Сообщение от User294 (ok), 30-Мрт-11, 12:20 
> на радость 294юзеру который от него тащиться будет.

Если что я изучал паскаль когда-то ;). Он хорош для обучения - приучит как делать не надо, научит хорошему, если конечно повезет и вас будет обучать нормальный программист, а не специально обученная обезьяна. Правда, это больше касалось классического паскаля. Дельфя к сожалению учит только кнопки на форму втыкать почему-то. А сами программы дельфистов - в массе своей содержат совершенно вырвиглазный говнокод.

Но вот что-то не очень велосипедное всерьез програмить на паскакале - на редкость противное занятие, имхо :). Библиотек (юнитов) под паскакаль - зело меньше чем для сей/сей++. А интерфейситься к сишным либам имеючи паскакалевские типы данных может возжелать только мазохист. Алсо, мне больше нравится curly bracket синтаксис. Бегины и энды как-то засирают видимость и ухучшают схватывание структуры кода на глаз. В то время как скобки, особенно на отдельных строках, достаточно доходчиво отделяют блоки кода - глаз сразу схватывает что это отдельный блок кода.

Если это околосистемное что-то - еще и просто геморройно до жопы, потому что операционные системы пишутся на сях, ну и интерфейс вывешен опять же удобный для сишных программ :). Ну, кому-то может и нравится конвертить типы данных при каждом системном вызове/юзеже либ, но этот кто-то - не я. А для системных целей си позволяет также загибать весьма неслабые фокусы, которые паскалистам вообще по сути недоступны.

Эй, паскалист, а ну-ка попробуй напиши аналог такому? :)
void (*our_func) (void);
...
our_func = (void *) 0x1000;
our_func();

Как паскалистам такой выгибон, нормальненько? Как вы думаете, что оно такое делает? И как вы думаете, а сможете вы такое на паскакале изобразить, хотя-бы теоретически, будь такая нужда? И главное и асмовый фрагмент в паскале вроде стандартно впихнуть - не того :). Кстати этот выгибон реально юзается на практике и вполне себе уместен там где встречается, приколитесь? :)

Ответить | Правка | Наверх | Cообщить модератору

23. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от anonymous (??), 30-Мрт-11, 13:11 
> Эй, паскалист, а ну-ка попробуй напиши аналог такому? :)
> void (*our_func) (void);
> …
> our_func = (void *) 0x1000;
> our_func();

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

Ответить | Правка | Наверх | Cообщить модератору

26. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от ram_scan (?), 30-Мрт-11, 13:43 
это можно сделать аж двумя способами.

Через процедурный тип, и через декларирование типа "функция" и объявление переменной этого типа.

будет что-то в духе

var pmyproc : procedure;
begin
pmyproc := pointer(10000);
pmyproc;
end.

либо

type tmyfunc = function (integer) : integer;
var pmyfunc : ^tmyfunc;
    bar : integer;
begin
pmyfunc := pointer(10000);
bar := pmyfunc(1);
end.

А еще на паскале можно сразу переменные в абсолютных адресах размещать. Причем со времен pdp-11 как минимум.

var tmp : array [0..1023] of integer absolute $10000;

и обращаться потом к массиву по человечески не казнясь с указателями.

Ответить | Правка | Наверх | Cообщить модератору

35. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от Аноним (-), 30-Мрт-11, 20:00 
> А еще на паскале можно сразу переменные в абсолютных адресах размещать. Причем со времен pdp-11 как минимум.

В наше время сомнительная возможность.

> и обращаться потом к массиву по человечески не казнясь с указателями.

/* В DOS это было примерно так: */
const int *tmp = (int __far *) 0x10000;

/* Теперь tmp можно применять как массив. Не могу не обратить внимание, что такой способ был доступен в Си с самого начала и является логичным способом использования его возможностей, в отличие от Паскаля, хорошо сдобренного Борландом. Кстати, указатели придумали для удобства, и они действительно удобны, если уметь применять их */

Ответить | Правка | Наверх | Cообщить модератору

46. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от ram_scan (?), 31-Мрт-11, 08:32 
> В наше время сомнительная возможность.

Отчего-же ?

Я например в свое время заменив в турбопаскале родную RTL на самопальную вполне успешно писал на нем sys драйверы для масадоса (ибба с версии 5.0 ихний лоадер научился таки понимать MZ формат бинаря).

При этом безо всяких трюков и ассемблерных вставок.

Ответить | Правка | Наверх | Cообщить модератору

24. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +1 +/
Сообщение от q (??), 30-Мрт-11, 13:12 
> Как паскалистам такой выгибон, нормальненько?

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

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

40. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от User294 (ok), 30-Мрт-11, 23:43 
> со всеми возможностями спецификайции языка.

Как ни странно, код упомянутого плана именно в полезных продуктах и встречается. Насчет стабильной работы пользователя - не, теория это замечательно, но на практике дельфевые программы в массе своей на 99% - редкий крап.

Ответить | Правка | Наверх | Cообщить модератору

45. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от anonymous (??), 31-Мрт-11, 00:49 
> на практике дельфевые программы в массе своей на 99% — редкий крап.

это никак не вина инструмента (так же, как не вина php в том, что на нём пишут долбоклюи).

Ответить | Правка | Наверх | Cообщить модератору

56. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от User294 (ok), 31-Мрт-11, 12:44 
> это никак не вина инструмента (так же, как не вина php в
> том, что на нём пишут долбоклюи).

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

Ответить | Правка | Наверх | Cообщить модератору

58. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от anonymous (??), 31-Мрт-11, 12:52 
то, что ты не видел хорошего софта на дельфи значит, всего лишь, что ты не туда смотришь.

кстати, совершенно навскидку: beepola.

Ответить | Правка | Наверх | Cообщить модератору

66. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от Frankl (?), 31-Мрт-11, 15:02 
>> это никак не вина инструмента (так же, как не вина php в
>> том, что на нём пишут долбоклюи).
> Не, знаете, вот на PHP написано и уйма вполне приличного софта. Хотя
> и крапа ессно хватает. На дельфе найти вменяемую программу ... ну
> ... наверное такое в теории возможно.

И этот человек когда-то защищал проблемы Си, говоря что это вина программиста, не умеющего следить за переполнением, сверками, утечками и т.д. :)
В сравнении с Си, на делфи гораздо больше качественных программ.  

Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

69. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от pazkeemail (?), 31-Мрт-11, 15:25 
> И этот человек когда-то защищал проблемы Си, говоря что это вина программиста,
> не умеющего следить за переполнением, сверками, утечками и т.д. :)

A то в паскакале не может быть переполнений и особенно утечек памяти.

> В сравнении с Си, на делфи гораздо больше качественных программ.

Это была шутка ?

Ответить | Правка | Наверх | Cообщить модератору

71. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от Frankl (?), 31-Мрт-11, 16:02 
>> И этот человек когда-то защищал проблемы Си, говоря что это вина программиста,
>> не умеющего следить за переполнением, сверками, утечками и т.д. :)
> A то в паскакале не может быть переполнений и особенно утечек памяти.

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

>> В сравнении с Си, на делфи гораздо больше качественных программ.
> Это была шутка ?

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

И вообще, слава богу что такой код for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2); в паскале не написать ;)

Ответить | Правка | Наверх | Cообщить модератору

25. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от Frankl (?), 30-Мрт-11, 13:21 
>И главное и асмовый фрагмент в паскале вроде стандартно впихнуть - не того :).

всё того) плохой выхлоп :)

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

57. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от User294 (ok), 31-Мрт-11, 12:51 
>>И главное и асмовый фрагмент в паскале вроде стандартно впихнуть - не того :).
> всё того) плохой выхлоп :)

Есть именно стандартный и устоявшийся метод это делать? А то как я помню в свое время борланд юзал какой-то собственный костыль для этого. Который стандартом не являлся. Да еще и потом как-то по разному было сделано для доса и винды. Они же не юзали и нормальные человеческие форматы объектников и прочая, чем жестоко факапали интероперабельность с сями, вызывая массу батхерта, чтоб их. Делали какие-то абстрактные "юниты", начиная еще с паскаля под дос и потом в дельфе. Не забывая еще и их формат в каждой версии менять, вашумать. Абсолютно фаготский подход, видимо спровоцированный тем что официального устоявшегося формата вообще нет. Поэтому юзеж либ от кого-то кроме борланда был больше похож на батхерт, а исходники оных авторы почему-то очень любили зажимать, что окончательно доставляло. В результате сроду было куча юнитов "для версии X", "для версии Y" и прочая. Чем борланд порядком задрал. А других вменяемых авторов паскалевских компилеров на тот момент как-то и не было вообще :)))

Ответить | Правка | Наверх | Cообщить модератору

59. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от anonymous (??), 31-Мрт-11, 12:55 
внизапна, вопрос! мы же про Delphi Language тут говорим, не так ли? так вот: стандарт Delphi Language — это… ну, ты угадаешь, думаю. и да — там ещё с тех пор, как оно было Borland Pascal With Objects есть возможность включать асм. вполне стандартизованая в рамках диалекта. как и остальные, кстати, синтаксические конструкции.

>Делали какие-то абстрактные «юниты»

не «абстрактные юниты», а вполне забавный формат библиотек, который обеспечивал быструю линковку.

Ответить | Правка | Наверх | Cообщить модератору

64. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от Frankl (?), 31-Мрт-11, 14:57 
>>>И главное и асмовый фрагмент в паскале вроде стандартно впихнуть - не того :).
>> всё того) плохой выхлоп :)
> Есть именно стандартный и устоявшийся метод это делать?

не виляй как жучка) смотри, открываю fpc, пишу:

begin
  {$ASMMODE att}
  asm
    movl $100, Йx
    pushl Кx
    popw %ax
  end;

  {$ASMMODE intel}
  asm
    mov eax, 100
    push ebx
    xor ecx, ecx
  end
end.

Всё компилируется, всё работает. :)

Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

27. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от dq0s4y71 (??), 30-Мрт-11, 18:16 
> И как вы думаете, а сможете вы такое на паскакале изобразить, хотя-бы теоретически, будь такая нужда?

Гы-гы. Да слово в слово!

var our_func: procedure;
...
our_func := Pointer($10000);
our_func;
...

Смешной вы, User294 :) Пишете патетический пост на два экрана, а в конце громко пукаете в лужу :)

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

28. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от dq0s4y71 (??), 30-Мрт-11, 18:31 
Кстати, раз уж вы так хотели удивить пасквилянтов сишным "выгибоном", то могли бы ваш пример записать в три раза короче:

((void (*)())(0x10000))();


Вот такого Паскаль точно не умеет :)

Ответить | Правка | Наверх | Cообщить модератору

29. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  –1 +/
Сообщение от q (??), 30-Мрт-11, 18:33 
> ((void (*)())(0x10000))();

Я не знаю, умеет такое паскаль или нет, но такой код не нужен.

Ответить | Правка | Наверх | Cообщить модератору

30. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от dq0s4y71 (??), 30-Мрт-11, 18:51 
В большинстве случаев - да, но мы сейчас не качество кода обсуждаем :)
Ответить | Правка | Наверх | Cообщить модератору

34. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от Аноним (-), 30-Мрт-11, 19:50 
В signal.h стандартной библиотеки C можно найти такое:

void (* signal(int __sig, void (* __func)(int))) (int)

Рядовая функция, устанавливает и возвращает обработчик сигнала - функцию с целым аргументом и результатом void. Тут что-то непонятно? )) Кстати, после чтения стандарта такие конструкции читаются на раз, и они довольно логично смотрятся с точки зрения грамматики языка, да и лаконично.
Даже если в Паскале подобную конструкцию можно реализовать, такие вещи в нем делать просто не принято, а зря - callback-функции часто используются в системном программировании.

Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

36. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от anonymous vulgaris (?), 30-Мрт-11, 22:37 
> Даже если в Паскале подобную конструкцию можно реализовать, такие вещи в нем делать просто не принято, а зря - callback-функции часто используются в системном программировании.

Ну вы чего все паскаль так же как 294юзер учили что-ли?
или или в гугле лень набрать callback pascal?

http://www.delphi-central.com/callback.aspx
Tutorials - Implementing Callback Procedures


Ответить | Правка | Наверх | Cообщить модератору

43. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от anonymous (??), 31-Мрт-11, 00:38 
> В signal.h стандартной библиотеки C можно найти такое:
> void (* signal(int <u>sig, void (* </u>func)(int))) (int)

и за такое, найденое в своём проекте я бы отрезал тестикулы аффтару. это л.тоатомная хрень, которую необходимо переписать на typedef'ах, или прощай премия и половина зарплаты того, кто подобное родил.

> Даже если в Паскале подобную конструкцию можно реализовать, такие вещи в нем
> делать просто не принято, а зря — callback-функции часто используются в
> системном программировании.

ORLY? признайся, в последний раз ты паскаль видел в школе, когда тебе дали три с половиной оператора и злая училка била по пальцам?

Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

60. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от dq0s4y71 (??), 31-Мрт-11, 13:16 
> и за такое, найденое в своём проекте я бы отрезал тестикулы аффтару. это л.тоатомная хрень, которую необходимо переписать на typedef'ах, или прощай премия и половина зарплаты того, кто подобное родил.

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

Кстати, вы ведь не собираетесь идти в разработчики ядра Линукс, нет? А то у Грега Кроа-Хартмана религиозные взгляды прямо противоположные и он отрезает тестикулы как раз за использование typedef-ов... http://www.kroah.com/linux/talks/ols_2002_kernel_codingstyle...

Ответить | Правка | Наверх | Cообщить модератору

61. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от anonymous (??), 31-Мрт-11, 13:32 
> О как! Но что-то мне подсказывает, что полномочий лишать кого-то премии и
> половины зарплаты у вас пока еще нет.

вынужден тебя разочаровать.

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

есть такая штука, как «стандартный стиль для некоей конторы/команды». судя по всему, ты никогда в больших командах не работал, и не знаешь, какие швабры вставляют за его нарушения.

> Кстати, вы ведь не собираетесь идти в разработчики ядра Линукс, нет?

нет, я там уже был.

> А то у Грега Кроа-Хартмана религиозные взгляды прямо противоположные и он отрезает
> тестикулы как раз за использование typedef-ов…

его право. если я буду слать патчи в ядро — я буду писать в стиле, рекомендованом для ядра.

Ответить | Правка | Наверх | Cообщить модератору

70. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +1 +/
Сообщение от pazkeemail (?), 31-Мрт-11, 15:37 
> и за такое, найденое в своём проекте я бы отрезал тестикулы аффтару.
> это л.тоатомная хрень, которую необходимо переписать на typedef'ах, или прощай премия
> и половина зарплаты того, кто подобное родил.

У вас pascal brandamage. Вот после таких гуру смотришь на код типа:

MyVeryCoolType MySuperFunction(MyCoolType1 x, MyCoolType2 y);

и хочется сначала плакать, а потом мучительно убивать.

Вот вы глядя на этот прототип можете точно сказать аргументы какого типа принимает эта функция ?
Что такое MyCoolType1 например ? struct, union, enum, указатель на неизвестно что или просто int ?

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

76. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от anonymous (??), 31-Мрт-11, 20:53 
> У вас pascal brandamage. Вот после таких гуру смотришь на код типа:
> MyVeryCoolType MySuperFunction(MyCoolType1 x, MyCoolType2 y);
> и хочется сначала плакать, а потом мучительно убивать.

это бывает. попей успокоительных.

> Вот вы глядя на этот прототип можете точно сказать аргументы какого типа
> принимает эта функция ?

откуда ж я знаю, что там мудaки понаписали? лично у меня такие typedef'ы применяются только для прототипов функций.

алсо, если твоя иде не может по наведению мыши показать определение типа — выкинь её на помойку и возьми какую-нибудь нормальную IDE. я лично живу не в 70-х, мне покажут, что это, откуда и зачем.

Ответить | Правка | Наверх | Cообщить модератору

54. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от User294 (ok), 31-Мрт-11, 12:42 
>> ((void (*)())(0x10000))();
> Я не знаю, умеет такое паскаль или нет, но такой код не нужен.

Смотря что значит не нужен :). Если по поводу стиля - да, мне именно такой стиль не очень по вкусу, т.к. чрезмерно задрючен и можно облажаться. Если по смыслу, т.е. сделать по сути JMP 10000 но без ASM - вполне валидная операция, реально используемая на практике.

Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

47. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от ram_scan (?), 31-Мрт-11, 08:35 
> Вот такого Паскаль точно не умеет :)

С каких пор ?

Через обычное приведение типа. Причем безо всякого птичьего языка, звездочек и скобочек.

procedure (10000);


Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

55. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +1 +/
Сообщение от dq0s4y71 (??), 31-Мрт-11, 12:44 
Delphi:
Error: Statement expected but 'PROCEDURE' found

FPC:
Fatal: Syntax error, ";" expected but "(" found

Незачет ;)

Ответить | Правка | Наверх | Cообщить модератору

51. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от User294 (ok), 31-Мрт-11, 12:35 
> Смешной вы, User294 :) Пишете патетический пост на два экрана, а в

А что по факту будет сделано? Будет ли это аналог просто ассемблерного jmp?

> конце громко пукаете в лужу :)

Ну ладно, уели, цуки - я паскаль последний раз юзал хренадцать лет назад, как раз ранние дельфи и т.п. появились. Мне это дельфи не понравилось и я честно съе на си :)

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

62. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от dq0s4y71 (??), 31-Мрт-11, 13:59 
> А что по факту будет сделано? Будет ли это аналог просто ассемблерного jmp?

Не будет. И в вашем сишном примере не будет. Потому, что это - ВЫЗОВ ФУНКЦИИ, и нигде не указывается, что из этой функции не будет возврата. Мало того, даже если our_func() описать с __attribute__ ((noreturn)), все равно gcc будет генерить:

mov         eax,0x00001000
call        eax

хотя эпилога (leave/ret) у вызывающей функции уже генериться не будет.

А jmp вместо call оптимизатор вставит в следующем случае:

#include <stdio.h>

void b() {
    puts("hello");
}

void a() {
    b();
}

int main(){
    a();
    return 0;
}

        ...
_a:
        push        ebp
        mov         ebp,esp
        pop         ebp
        jmp         _b
        ...

Ответить | Правка | Наверх | Cообщить модератору

33. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от Аноним (-), 30-Мрт-11, 19:43 
Самое интересное, что Вирт отлично понимал недостатки Паскаля (точнее, его особенности, делающие его непригодным для промышленного применения, все-таки ориентация была на обучение), и создал небезызвестные Модулу и Оберон, в которых, в частности, уже не было идиотского begin, вот только это событие прошло совершенно мимо паскалянтов, которые до сих пор продолжают вставлять в язык костыли. Указатели - это как раз из этой серии, в первой версии ими даже и не пахло, как и операторами break/continue, ленивыми вычислениями условий, а массивы разной длины, помнится, имели разный тип, так что функция, заточенная под один размер, не могла работать с другим.
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

37. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от anonymous vulgaris (?), 30-Мрт-11, 22:54 
> Самое интересное, что Вирт отлично понимал недостатки Паскаля (точнее, его особенности,

делающие его непригодным для промышленного применения, все-таки ориентация была на обучение)

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


> и создал небезызвестные Модулу ... в которых, в частности, уже не было идиотского begin,

http://en.wikipedia.org/wiki/Modula-3

A common example of a language's syntax is the Hello world program.
MODULE Main;
IMPORT IO;
BEGIN
  IO.Put ("Hello World\n")
END Main.


>вот только это событие прошло совершенно мимо паскалянтов, которые до сих пор продолжают вставлять в язык костыли. Указатели - это как раз из этой серии, в первой версии ими

даже и не пахло, как и операторами break/continue, ленивыми вычислениями условий,

Да уж разумное развитие это конечно явный недостаток языка. А интересно что бы Керниган с Ритчи сказали если бы им показали такое развитие их макроассемблера?

tuple(typename add_const_reference<Head>::type v, typename add_const_reference<Tail>::type... vtail)
            : m_head(v), inherited(vtail...) { }

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

Смешно. В ц вообще массивов нет. Указатель массивом  назвать конечно можно, как и строкой, вот только они от этого ими не станут.

Ответить | Правка | Наверх | Cообщить модератору

39. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от anonymous vulgaris (?), 30-Мрт-11, 23:22 
>  Паскаля ... все-таки ориентация была на обучение)

Кстати кто нибудь мне объяснит откуда пошла эта байка? На самом то деле было так - был алгол 60 (про котрый никогда такой ерунды понятно не говорилось) и который выглядел примерно так (знакомо не правда ли?)
ALGOL 60
procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k);
    value n, m; array a; integer n, m, i, k; real y;
begin integer p, q;
    y := 0; i := k := 1;
    for p:=1 step 1 until n do
    for q:=1 step 1 until m do
        if abs(a[p, q]) > y then
            begin y := abs(a[p, q]);
            i := p; k := q
            end
end Absmax


потом Вирт предложил Алгол В  (который стал на мой взгляд хуже)

ALGOL W is a programming language. It was based on a proposal for ALGOL X by Niklaus Wirth and C. A. R. Hoare as a successor to ALGOL 60 in the IFIP Working Group 2.1.
It represented a relatively conservative modification of ALGOL 60, adding string, bitstring, complex number and reference to record datatypes and call-by-result passing of parameters, introducing the while statement, replacing switch with the case statement, and generally tightening up the language.

а потом одумался, и  и с минимальными изменениями в алгол60 сделал Паскаль. Ну а потом его снова малость занесло... Ну да нашлись хорошие люди и исправили ошибки великих родив object pascal.

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

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

48. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от ram_scan (?), 31-Мрт-11, 08:46 
> а массивы разной длины, помнится, имели разный тип, так что функция,
> заточенная под один размер, не могла работать с другим.

Что как класс кстати исключало ошибки класса buffer overflow/underflow, причем контроль границ массивов ВНЕЗАПНО при этом было, ИЧСХ выполнялся всего одной инструкцией процессора bound (на x86). Напутать можно было только с указателями, но учитывая очень строгую типизацию намутить там можно было только целенаправленно, иначе компилятор давал больно по рукам. Со строками тоже кстати чтобы вылезти за границы строки нужно было СПЕЦИАЛЬНО постараться. И calling convention паскалевского типа исключает много опасных трюков со стеком.

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

52. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от User294 (ok), 31-Мрт-11, 12:38 
> исключает много опасных трюков со стеком.

Когда какие-то трюки исключают, это означает что что-то работать перестанет. Иногда например надо сделать тупой JMP на новую программу. Вообще переинициализировав стек например. Это что, такое совсем нельзя будет? И даже стандартного и-фейса для дергания асма нет? oO

Ответить | Правка | Наверх | Cообщить модератору

31. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от Фкуку (?), 30-Мрт-11, 19:03 
> Года 4 назад нужно было скомпилить какую-то либу из дельфийского исходника. Искать
> диск с ворованным дельфи7 было лень, скачал лазарус, поковырял, скомпилил, подумал
> круто получилось. С си-шной прогой нифига не заработало, но сам Лазарус
> очень порадовал.
> Два года назад уже на линухе потребовалось скомпилить какую-то прогу из дельфийского
> исходника. Поковырял, обплевался, нифига не заработало.
> Сейчас даже не знаю как на это реагировать.

С наскоку Lazarus'ом не запользуешься, этого не будет, корки и в Линуксах, и в Виндах долго будут получаться из скомпиленных без варнингов проектов.

И тут уже кажному для себя решать, на ЖыСиСи-бинды к GTK пересаживаться ради надежного кросса или Lazarusa учить.

Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

38. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от anonymous vulgaris (?), 30-Мрт-11, 22:58 
> С наскоку Lazarus'ом не запользуешься, этого не будет, корки и в Линуксах,  и в Виндах долго будут получаться из скомпиленных без варнингов проектов.

Ерунда какая.


Ответить | Правка | Наверх | Cообщить модератору

44. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от anonymous (??), 31-Мрт-11, 00:39 
> И тут уже кажному для себя решать, на ЖыСиСи-бинды к GTK пересаживаться
> ради надежного кросса или Lazarusa учить.

или не мучаться с этим всем и спокойно использовать Qt, как единственный адекватный тулкит.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

8. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от dq0s4y71 (??), 29-Мрт-11, 18:31 
А что, к нему окно дизассемблера в вправду прикрутили?
Ответить | Правка | Наверх | Cообщить модератору

65. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от анон (?), 31-Мрт-11, 14:58 
> А что, к нему окно дизассемблера в вправду прикрутили?

Дизассемблер был, но очень кривой.

Ответить | Правка | Наверх | Cообщить модератору

73. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от dq0s4y71 (??), 31-Мрт-11, 16:33 
А где он был-то? Я что-то так и не нашел. А сейчас это что? Машинный код отлаживать можно?
Ответить | Правка | Наверх | Cообщить модератору

79. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от anonymous vulgaris (?), 01-Апр-11, 01:53 
> Машинный код отлаживать можно?

Так отладка через гдб сделана. Откуда и часть проблем ибо гдб под ц заточен. Поэтому в debugger friendly оптимизации -О1 им иногда приходится сильно неоптимальный код генерить чтоб отладка нормально работала. В -О2 все оптимально, но м.б. проблемы с отладкой.

Ответить | Правка | Наверх | Cообщить модератору

32. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от Del4ev (?), 30-Мрт-11, 19:25 
Skype написан на Delphi
Ответить | Правка | Наверх | Cообщить модератору

42. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от ncux (??), 31-Мрт-11, 00:12 
qip вроде тоже
Ответить | Правка | Наверх | Cообщить модератору

53. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от User294 (ok), 31-Мрт-11, 12:39 
> qip вроде тоже

О, две проприетарные какашки вспомнили.


Ответить | Правка | Наверх | Cообщить модератору

49. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от ram_scan (?), 31-Мрт-11, 08:48 
> Skype написан на Delphi

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

Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

50. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от Frik (?), 31-Мрт-11, 11:08 
Еще TheBat, и туева хуча программ. О туевой хуче многие не знают, потому что они в основном с БД связаны, а вот на остальных языках много ли софта с БД, делфя по этому параметру все вместе взятые сделает и не надо говорить что БД - фу, люди не только в интернетах сидят, большинство как раз работают с базами данных.
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

68. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от pazkeemail (?), 31-Мрт-11, 15:17 
> Еще TheBat, и туева хуча программ. О туевой хуче многие не знают,
> потому что они в основном с БД связаны, а вот на
> остальных языках много ли софта с БД, делфя по этому параметру
> все вместе взятые сделает и не надо говорить что БД -
> фу, люди не только в интернетах сидят, большинство как раз работают
> с базами данных.

"Профессиональный" кидатель dbgrid'ов на формы детектед.

Ответить | Правка | Наверх | Cообщить модератору

80. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от anonymous vulgaris (?), 01-Апр-11, 02:53 
> "Профессиональный" кидатель dbgrid'ов на формы детектед.

Я когда это все время слышу то мне кажется что это от зависти, нет? Или кидать не получается? Так это мышкой же просто делается.

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

А у вас что не так?

Ответить | Правка | Наверх | Cообщить модератору

75. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от dq0s4y71 (??), 31-Мрт-11, 16:36 
Ну, и насколько я понимаю, на Делфи написан сам компилятор Делфи :)
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

77. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от anonymous (??), 31-Мрт-11, 20:59 
> Ну, и насколько я понимаю, на Делфи написан сам компилятор Делфи :)

на сях он написан.

Ответить | Правка | Наверх | Cообщить модератору

81. "Релиз новой стабильной версии Lazarus 0.9.30, среды..."  +/
Сообщение от anonymous vulgaris (?), 01-Апр-11, 02:57 
>> Ну, и насколько я понимаю, на Делфи написан сам компилятор Делфи :)
> на сях он написан.

Не знаю насчет компилятора (там еще с дельфи1 ноги растут, когда он с нуля делался и паскалевского компилятора на паскале понятно не было) но сама среда ессно на паскале.

А компилятор фреепаскаля с самого начала на паскале писался. Как и лазарь ессно.

Ответить | Правка | Наверх | Cообщить модератору

41. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от Аноним (-), 31-Мрт-11, 00:09 
на нем собираются тотал командер 8 выпускать...
Ответить | Правка | Наверх | Cообщить модератору

78. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от anonymous vulgaris (?), 01-Апр-11, 01:49 
> на нем собираются тотал командер 8 выпускать...

Да, похоже дело идет именно к этому

Total Commander. Интервью с разработчиком
http://www.kv.by/index2011044301.htm

- Ранее многократно вы публично заявляли, что закончили первый этап портирования Total Commander на Lazarus/Free Pascal. Как сейчас продвигается эта работа?
- Да, я веду такую работу.

Ответить | Правка | Наверх | Cообщить модератору

82. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от anonymous vulgaris (?), 01-Апр-11, 03:06 
> на нем собираются тотал командер 8 выпускать...

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

http://doublecmd.sourceforge.net/

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

83. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от Dmitry (??), 01-Апр-11, 10:54 
Вот САПР для прокладки кабельных трасс

http://shamangrad.net/project.php?act=view&prj=zcadhttp://sh...

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

84. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от anonymous vulgaris (?), 01-Апр-11, 22:05 
> Вот САПР для прокладки кабельных трасс

Это на Лазаре

а на Дельфях можно посмотреть напрмер тут

http://delphi.wikia.com/wiki/Good_Quality_Applications_Built...

в частности

KMPlayer MediaMonkey Help&Manual FastStoneImageViewer TotalCommander InnoSetup  PowerArchiver BeyondCompare GetDataBack PhotoFiltreStudio FinalBurner CoffeeCupHTMLEditor RJ TextEd BSPlayer PSPad ZoomPlayer ConvertXToDVD FuturixImager IZArc PEExplorer ASPack DeepBurner TextAloud Editpad Multilizer TreeSize Dev-C++

Ответить | Правка | Наверх | Cообщить модератору

85. "Релиз новой стабильной версии Lazarus 0.9.30, среды разработ..."  +/
Сообщение от nikos (??), 02-Янв-12, 14:43 
> на нем собираются тотал командер 8 выпускать...

Про тотал вопрос сложный, но, по личному опыту, в 95%  случаев куда более важно то что написано ( алгоритмы и знания "как делать"), чем чистота кода и его красота. Чем проще язык и чем меньшими усилиями людей знающих "как делать", тем быстрее  появится готовый продукт.


Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру