После двух лет разработки анонсирован новый релиз Free Pascal 2.2.0 (http://www.freepascal.org/), открытого, кроссплатформенного компилятора языка Паскаль, совместимого с Borland Pascal 7, Delphi и Metrowerks Pascal. Из новшеств (http://svn.freepascal.org/svn/fpcbuild/tags/release_2_2_0/in...) можно отметить:
- Поддержка архитектур PowerPC/64 и ARM;
- Поддержка платформ Mac OS X/Intel, Nintendo Game Boy Advance, Nintendo Game Boy DS, Windows CE (Windows Mobile) и 64-Windows;
- Расширены возможности отладчика;
При тестировании (http://www.osnews.com/story.php/18592/Cross-Platform-Develop.../) сборка кода в FPC производилась примерно в 7 раз быстрее, чем в GCC, при этом сгенерированный в FPC 2.0.4 (в FPC 2.2 в этом плане проведены оптимизации) код выполнялся на 30% медленнее, но занимал меньше памяти. При сравнении с интерпретируемыми языками, код FPC был в 50 раз быстрее Ruby, в 14 раз быстрее PHP и в 17 - Java.URL: http://www.osnews.com/story.php/18592/Cross-Platform-Develop.../
Новость: http://www.opennet.me/opennews/art.shtml?num=11974
А кто-то, кроме школьников и студентов нетехнических вузов пишет на паскале консольные проги?
Я пишу. Очень изощренные конвертеры :)
Компактно.
roof ты че - я так себе представил на мгновение ока как литераторы на паскале пишут так мне смешно становиться.
> А кто-то, кроме школьников и студентов нетехнических вузов пишет на паскале консольные проги?Я пишу секурные демоны на FPC, и кстати не школьник и не студент.
жжош!!
Надо быть оч. большим фанатом этошо языка, что б на нем работать. IMHO, конечно...
Паскаль лишен указателей, кои, как все мы знаем, являются в руках не опытных программистов злом.
A tu na Pascal pisal?
V Pascal est ykazateli, ix mogno ispolzovat to4no takje kak v C.
A po skorosti Pascal ne xoge C, napishi prostuy programy na C a ya na Pascal
i sravnim skorost.
ты паскаль то видел вообще? поддерживаются указатели как на данные так и на функции. (сам пишу на ц++ ибо работа, но к паскалю остались теплые чувства).
Ахренеть. Большей тупости я еще не читал. Указатели в Паскале есть еще со времен его рождения. Стеки, связанные списки, деревья, кольца и пр. в нем строятся элементарно.Кстати очень хороший и удобный язык. Сейчас пишу на C++, но имхо Паскаль вы зря хаете, возможностей у него ничуть не меньше (тем более во Free Pascal добавлено очень много по сравнению с исходнім язіком). Возможно он не такой гибкий, но зато в нем труднее допускать ошибки, он прост, логичен и понятен. Ну и скорость компиляции у Паскаля и C++ не сравнимы. Очень жаль, что последнее время он отошел на задний план.
Люди, вы все офигели. Указатели в Паскале есть, но они совсем не такие, как в Си: в Паскале указатель котролируется по типу и может указывать только на рабочую переменную (т.е. невозможно переполнение буфера), а в Си указатель можно заставить указывать на что угодно.
В Паскале есть и нетипизированные указатели, и указатели на функции, так что не надо. Вот что мне не нравится в нем, так это контроль типов во время исполнения, потому и компиляция быстрее, а выполнение - медленнее.
так из-за контроля типов и ошибок меньше, хотя для "профи2 можно и отключать контроль ошибок run-time
> При сравнении с интерпретируемыми языками, код FPC был в 50 раз быстрее Ruby, в 14 раз быстрее PHP и в 17 - JavaМеня всегда удивляли "религиозные Фаны" этих языков, хотите увидеть в процентном выражении сколько это (в 1 раз = 100%) - FPC 2.0.4 на 5000 % быстрее Ruby, на 1400 % быстрее PHP и 1700% быстрее Java.
А если хорошо довести Lazarus, то FPC однозначно превзойдет по скорости разработки любые дот-нэты и пр. прочие кофейники.
PS где вы перченые мачо, оплюйте меня поскорей, а то вдруг Вас уволят :)
А как вообще ЭТО можно сравнивать с интерпретируемыми языками?
И вообще со сравнения компиляторов переходить на сравнивание языков?
а меня всегда удивляли такие вот ЕСЛИ которые кроме как А ЕСЛИ ... ТО всем капец
В 50 раз больше - это на 4900% больше, а не на 5000%.
Hard, точнов в глаз. Pascal ничем не хуже C, и кроме того на нем вполне реально также и проги под иксы и под винды писать. IMHO, roof просто лучше доки к нему читай
Хуже, как язык.
Чем хуже?? -- чем язык! :)
Hard, поддерживаю. Ну вот не нравится мне С с его хедерами и связанной с этим путаницей.
Просто С старше, и кода на нем написано ОГРОМНОЕ количество. Лазарус как среда разработки - вполне ОК. Не хватает более мощного отладчика (ну, с учетом анонса - посморим).
>Чем хуже?? -- чем язык! :)за одно только with X do (особенно вложенные) автора следует порвать лошадьми.
>Просто С старше, и кода на нем написано ОГРОМНОЕ количество.Небольшая поправка. Си не старше Паскаля. Паскаль разработан Никлаусом Виртом в 1970-71 годах. А над Си трудились Ритчи и Томпсон в 1969-73 годах, причём более-менее законченный вид (и название) язык обрёл только в 1972 году не без влияния Паскаля.
Попробуйте на нем написать чтонибудь низкоуровневое. Упаритесь.
Почему? Ну назовите, что такое можно написать на С, что нельзя написать на Паскале?
ФС. Объем кода будет в 3-4 раза больше (ибо синтаксис избыточный), производительность ваще в жопе окажется. В принципе, конечно, можно. И ОСи на обероне делают. Но это, имхо, фанатизьм. Шурупы тоже можно молотком заколачивать. Только зачем -- если есть отвертка?
Уж лутче шуруп заколотить молотком, чем гвоздь завинтить отверткой.
Хотя каждому инструменту свое назначение.
Лично яразочаровался в Паскале после того, как увидел, что в аргументах подпрограммы/процедуры/функции требуется точно указать тип массива, так что не получается сделать подпрограмму, обрабатывающую массивы разных размеров. Кроме того, я не нашёл возможности создавать во время выполнения массивы нужного мне размера - размер массива определяется на момент компиляния.
"Я не нашел" - это ключевое словоТо, что Ты не нашел, еще не означает, что в языке этого нет.
Срочно курить документацию.
+1
срочно И КРАЙНЕ ВНИМАТЕЛЬНО изучаем работу с указателями, типизированными и неочень :-)
Мля. В современном Паскале уже давно существуют динамические массивы. Впервые они появились в одной из версий Delphi и соостветственно полностью перешли во Free Pascal. А передача массивов разной длины в качестве параметра функции в Паскале существует еще с незапамятных времен, курим документацию по ключевым словам "параметры массивы".
>Мля. В современном Паскале уже давно существуют динамические массивыВ библиотеках на Паскале. Или уже встроенные средства языка появились?!
> и соостветственно полностью перешли во Free
Ой ли... полностью?
>Pascal. А передача массивов разной длины в качестве параметра функции в
>Паскале существует еще с незапамятных времен...Многие еще живы :-) не так уж и давно это было.
>В библиотеках на Паскале. Или уже встроенные средства языка появились?!Да, появились.
>Ой ли... полностью?
Да, ой ли.
Да, полностью.
На нем как будто с инструктором на учебной машине едешь.
В аварию попасть можно но шансов меньше.
имхо
>На нем как будто с инструктором на учебной машине едешь.
>В аварию попасть можно но шансов меньше.Весьма точное сравнение. Ибо прокатиться с ветерком тоже никак,
и передачи переключать инструктор слишком рано заставляет. ;)
>Ибо прокатиться с ветерком тоже никак,
>и передачи переключать инструктор слишком рано заставляет. ;)А некоторые никуда не торопятся :-)
PS
... и не забываем про скорость разработки...
Маленькая поправка - не Nintendo Game Boy DS, а Nintendo DSпротив языка ничего не имею, но под конкретные задачи - конкретные решения.
Насчет замечания по скорости - скорость не всегда самый главный фактор, и скорость понятие абстрактное - у вас есть два больших и сложных приложения одинаково реализованные на этих языках что вы сравниваете скорость?Или сравнивается время цикла миллионного сложения чисел?
Прочухайтесь, детки: даже автор паскаля признаёт, что язык имеет массу недостатков - поэтому, собственно, он и занялся всякими модулами и прочими оберонами...
Так что не пригоден он к промышленному использованию, а для обучения питон его превосходит на порядки.
>Прочухайтесь, детки: даже автор паскаля признаёт, что язык имеет массу недостатков -
>поэтому, собственно, он и занялся всякими модулами и прочими оберонами...
>Так что не пригоден он к промышленному использованию, а для обучения питон
>его превосходит на порядки.Оригинальный Pascal и современный Free Pascal - это две большие разницы. Многие решения из Модулы вернулись и были реализованы в разных диалектах Паскаля. Когда последний раз книжку по Паскалю в руки брал?
> даже автор паскаля признаёт, что язык имеет массу недостатков - поэтому, собственно, он и занялся всякими модулами и прочими оберонами...А у кого нет недостатков? Может у Assembler? :-)
Тут как в пазлах: нужно фигурки соответствующими сторонами соединять.
однако детка, даже автор С++ признает кучу его недостатков...
>однако детка, даже автор С++ признает кучу его недостатков...Просто не все согласны с основным принципом дизайна C++.
"Make hard things possible, even if it makes simple things complicated".
На всех форумах только и пишут что паскаль-отстой...
А реально куча прог пишется на Delphi/Kylix/Pascal. Даже десктопы на linux-XPDE кажется завется
Согласен с S.D.e.R.F Паскаль не так уж и плох... на нём вполне реально писать прикладные программы... как под консоль, так и под иксы/эксплорер..."...низкоуровневое там страдает..."
а что вы под ним ребята понимаете-то - под низкоуровневом... ?
драйвера писать на Паскале можно - видел это/делал это - и не чуть не хуже чем на си... паскаль+асма - вот вам и полноценное низкоуровневое...к томуже Дельфи/Куликс/Лазарус - куды приятние чем ВизуалСи/Эклипс/КДевеелоп =) ИМХО...
с постом в одном только не согласен, нельзя сравнивать компиляторы и интерпретаторы...
Известный многим QIP написан на Delphi, DownloadMaster, лидирующий менеджер закачек написан (скорее всего) на Delphi, TotalCommander написан на Delphi.
Я пишу на Delphi программы для регистрации и обработки цифровых сигналов, раньше писал на TurboPascal драйвер для АЦП, сейчас клепаю демки на OpenGL кроссплатформенные на FreePascal.А если серьёзно, то не надо устраивать ещё один холивар, т.к. язык это дело привычки, а на вкус и цвет все фломастеры разные.
> А если серьёзно, то не надо устраивать ещё один холивар, т.к. язык это дело привычки, а на вкус и цвет все фломастеры разные.Вот это правильно сказано. Исключительно дело привычки. Нормальный кодер на чем угодно может качественные продукты делать -- хоть на php, хоть на асме.
>Нормальный кодер на чем угодно
>может качественные продукты делать -- хоть на php, хоть на асме.Это опасное заблуждение новичков. Программист действительно может выучить множество языков, но, как и с человечемкими разговорными языками, думать он всегда будет только на одном, а на всех других языках у него всегда будет более или менее различимый акцент.
>>Нормальный кодер на чем угодно
>>может качественные продукты делать -- хоть на php, хоть на асме.
>
>Это опасное заблуждение новичков. Программист действительно может выучить множество языков, но, как
>и с человечемкими разговорными языками, думать он всегда будет только на
>одном, а на всех других языках у него всегда будет более
>или менее различимый акцент.У вас в голове устаревшие теории насчёт человеческих языков и, похоже, изумительно извращённое понимание программирования.
C более лаконичен, поэтому мне он нравится больше, чем Pascal :)
<offtopic>Кто что скажет про Objective-C?</offtopic>
Ребята,
паскаль это такой же язык как и все С и С++. Он очень подходит для обучения детей програмированию. И открою вам секрет... Единтственная разница С и и паскаля в том что в паскале жесткая типизация. вот и все. В остальном одно и тоже. И Слава Богу что паскаль есть :) А то б поколения работали на бейсике
Опять флуд подняли, борьба детей в песочнице.
Есть задача, а есть инструмент решения. Например, задача –повесить картину на стену, возможный вариант решения – забить гвоздь, инструменты для реализации– молоток и гвозди. И поднялся флуд – какой молоток лучше и гвозди из какой стали выбрать - вот мол молоток с прорезиненной ручкой, лучше чем с просто деревянной, но он дороже, гвозди можно забивать прямо, а можно под углом и т.д. Но все забыли про главное, дело не в гвоздях и не в молотке – задача повесить картину на стену, а она может решаться 1001 вариантом. Картину можно приклеить, можно на шуруп, а не гвоздь повесить и т.д. Всё будет зависеть от конкретного специалиста, который будет решать эту задачу.
Паскаль, С++, Ассемблер – это всего лишь инструменты для реализации определенных задач. Я уверен на Паскале можно и операционную систему написать было бы желание. Плохому танцору как известно ноги мешают. Если не решить проблему, ну извини, повышай свою квалификацию. Профессионал подберет под конкретную задачу нужный инструмент и безвыходных ситуаций не бывает - бывают люди, которые не хотят искать выхода.
Ну, если все такие великие программеры назовите мне язык программирования, который бы улучшил АЛГОРИТМ быстрой сортировки. Для великих гуру просто напомню, что в программировании есть вещи, которые не зависят ни от языка программирования, ни от версии компилятора, ни от операционной системы – называются алгоритмы.
P.S. Еще на С++ напали – что к чему – хороший инструмент в умелых руках. Сложен он для новичка - есть C#, mono и т.д. Где многие проблемы его устранены (но добавлены новые ;-) )
Nemnogo fluda, pardon.
Da, vse zavisit ot algoritma, no na raznyh jazykah realizacija
vygljadit po-raznomu. Pisal ja na assemblere proceduru vyvoda prjamoj
linii na CGA i Hercules adapter. Potom napisal to zhe na C. V poslednem
sluchae poluchilos kompaktnee, no v pervom - ponjatnee. Assemblernyj
variant rabotal s takim svistom, chto strochnyj transformator v monitore
pischal :). C - variant - procentov na 20 medlennee.
Гы, а еслиб ОО писали на Lazarus, он был бы на 1700 % быстрее?
Жаба - тормоз, как не крути и не хвали...
OOo не на Яве написан...
> Возможно он не такой гибкий, но зато в нем труднее допускать ошибки, он прост, логичен и понятенВот за это мачо его и не любят. Ведь можно понадевелопить, а потом месяцами отлаживать и искать глюки (причем некоторые оставив на завтрак) и соотв. получать за зря зарплатку... Кальян, ИМХО конечно)))
> OOo не на Яве написан...
А на чем, если оно так тттормозит, ПМК за 1,5 сек везде, а меню вылетает за 2 сек... А жирные документы открывает((((
> > Возможно он не такой гибкий, но зато в нем труднее допускать ошибки, он прост, логичен и понятен
> Вот за это мачо его и не любят. Ведь можно понадевелопить, а потом месяцами отлаживать и искать глюки (причем некоторые оставив на завтрак) и соотв. получать за зря зарплатку... Кальян, ИМХО конечно)))Так можно на чем угодно девелопить, и на паскале - тоже. Просто иногда хочется писать прогу, а не бороться с системой контроля типов.
а зачем бороться с системой контроля типов? я ни разу не встречал ситуации когда она непролазо мешала, а помогает она очень, а для всяких извращений есть record с вариативной частью, там можно такого наворотить, всякие С-шники обзавидуются :))
>Так можно на чем угодно девелопить, и на паскале - тоже. Просто
>иногда хочется писать прогу, а не бороться с системой контроля типов.И вообще, в C не менее строгая система контроля типов. К примеру, void* преобразуется в char* только явно. А в паскале контроль за типом указателей отключабелен.
Или вы говорите, что в C менее строгая система контроля типов только потому, что он int в bool неявно преобразовывает?
>Или вы говорите, что в C менее строгая система контроля типов только
>потому, что он int в bool неявно преобразовывает?Дело не в том, что она менее строгая. Дело в том, что она более разумная. Компилятор делает то, что он может сделать безопасно и не делает того, что опасно.
>Дело не в том, что она менее строгая. Дело в том, что
>она более разумная. Компилятор делает то, что он может сделать безопасно
>и не делает того, что опасно.char* s = malloc(256);
Это опасно?
Почему мне приходится писать
char* s = (char*)malloc(256); ?
>char* s = malloc(256);
>Это опасно?
>Почему мне приходится писать
>char* s = (char*)malloc(256); ?В данном конкретном случае - нет. Но вот пример позатейливее:
struct S1 {
...
};
struct S2 {
...
};
struct S1* s1 = malloc(sizeof(struct S2));Пример дурацкий, но демонстрирует типовую ошибку - неверно указанный
объем выделяемой памяти. Соответственно, необходимость явно указать
тип результата полезна, так как в значительной степени страхует от
этой ошибки.
>Пример дурацкий, но демонстрирует типовую ошибку - неверно указанный
>объем выделяемой памяти. Соответственно, необходимость явно указать
>тип результата полезна, так как в значительной степени страхует от
>этой ошибки."Не плодите лишних сущностей без необходимости" (c) - Не помню, кто.
В паскале есть специальная функция для выделения памяти под типизированные указатели - New()var
P: ^TStruct;
...
P:=GetMemory(SizeOf(TStruct));
равносильно
New(P);
>"Не плодите лишних сущностей без необходимости" (c) - Не помню, кто.Бритва Оккама. Это высказывание очень любили и Альберт Эйнштейн, и автор Паскаля Никлаус Вирт - так что в точку попали.
>P:=GetMemory(SizeOf(TStruct));
>равносильно
>New(P);Опять в точку. Как же не хватает этой простой функции в Си (не C++)! Всякие сайзофы и слежения за типами надоедают - хочется просто писать программу. Вот и рождаются "ностальгические" макросы вроде
#define myNew(var,type) var=(type*)malloc(sizeof(type))
Бывает и хуже, но реже :)
Не знаю. но он без явы запускается, и лишь некоторые его возможности не работают без явы
В СБРФ и пр. все прикладные АБС написаны на Delphi (в основном на Delphi 5)
ИМХО, если бы СИ/С++/Кофе/Какао/Змеи был так хорош, то почему именно на Delphi?
Да потому, что девелопится быстро (быстрее всяких дотнетов, накидал компонентов обвязал и порядок)))) и без опасных глюков и багов (как обычно принято в С++), а главное дешево! (Среда разработки довольно дешева по сравнению с VS и учить девелоперов надо меньше, и Sample-code навалом)
По этой причине такие канторы на Linux в ближайшее время не перейдут, если только перченые девелоперы не одумаются и не начнут активно развивать Lazarus, чтобы проект на Delph можно было легко пересобрать под Linux с помощью Lazarus.
(Kilyx умер)
Или полная победа добра не нужна и вендекапец отменен, а?
> а главное дешево!+1
Есть хорошая программа[R]Software Editor 1.3.11 (есть статья в журнале Chip, ее размер - 4 МБ, написано на Delphi 7)
Недавно получила знак "Программа недели" от Soft.Mail.Ru
Написал ее в одиночку Воронежский программист Руслан Хобибулин (сорри афтар если что-то неправино с фио), да и причем она является только одним из компонентов комплекса Web-разработки.
R-Style Text Editor - по удобству интерфейса и по возможностям удобнее M$ Word, если ее не много доработать (сделать поддержку всех форматов doc/odf и хорошую проверку орфографии), то она реально может заменит M$ Word.
Что есть 1 Делфятник и, что есть 10000 программистов M$ с новомодными VS, .NEtами и пр... Еще пару таких девелоперов и можно за пол года получить офисный пакет круче чем у M$ (правда для защиты от такого, они проталкивают OpenXML. ИМХО 6000 страниц даже просто прочитать – непосильная задача)
C++ программеры могут только огрызаться, ибо их труд малополезен и не эффективен.
Lazarus надо срочно доводить, а то он глючен, а Rtl довольно жирна. Такая сила должна быть и на Linux.
Ахренеть! На Дельфи уже пишут текстовые редакторы! До чего дошла наука!>пол года получить офисный пакет круче чем у M$ (правда для
Сначала борланд пусть сделает нормальную поддержку юникода в своей поделке. А то в 21м веке нифига интерфейс нормальный не сделать без сторонниз библиотек. Да что там юникод: если дельфи не падает при компиляции программ это уже супер.
>Lazarus надо срочно доводить, а то он глючен, а Rtl довольно жирна.
Вот как раз ситуация с Lazarus и говорит, что никому это не надо
Паскаль детям нельзя давать. Давно пора исключить его из школьной программы. По себе знаю и от других слышал: Паскать учит плохому стилю программирования, а т.к. это первый язык - сравнить не в чем, вот и переучиваться трудно на тот же С или Python.Давайте не будет сравнивать компиляторы/интерпретаторы и языки программирования.
Чему же такому плохому он учит?
Паскаль очень даже неплохой язык, например, типизация в нем в тему, что особенно полезно для начинающих.
Реализовывать базовые алгоритмы на нем самое то. Без всяких там свистелок/перделок графических.
Не вижу особой проблемы заинтересованным читателям осилить Си и Питон.
Если они действительно заинтересованы.
Кто-то увидит Паскаль и скажет: "Да, это он, мой любимый язык!"
Кто-то перепробует десяток языков и остановится на Си++.
Но ведь не все идут программить. Кто-то познакомится с Паскалем в школе и благополучно пойдет работать водителем, вспоминая учителя информатики по матушке. :)
> Паскаль детям нельзя даватьНе давать Turbo Pascal, надо давать FPC.
Вот BASIC точно надо исключить ибо проприетарщина врага.> С или Python.
C был разработан для Unix в те времена, когда каждый байт был на вес золота. Он не преследует простоту о однозначность/понятность. И что, можно сделать вывод, что begin и end; вместо { } - это дурной стиль программирования? А если ты допрограммировался до слепоты, то эти { } тебе будет ой как сложно увидать на экране. а void вместо procedure - дурно пахет, правда? Зато человеку понятно.
С++ как логическое развитие объектного подхода, получил все уродства С.
PS Fpc позволяет объектно работать, даже без применения классов, можно вызывать перегруженные и одноименные функции указав ее как поле класс, а за класс брать имя модуля. А с С/С++ с эти какой гимор... Все должно быть уникально. Но Fpc также может работать со строгими именами функций, используя alias.
Короче, товарищи перченые мачо, не х. не знаете, что такое Fpc, то и нех. пердеть в лужу. Fpc уже давно стал круче С, и скоро доберется до С++, а ваши отговорки только лишь от неумения программировать на этом эффективном языке.> Python
зеленый змий.)))) см на сколько % он тормознутее))))
Вот к примеру Wine, бинарноков ~10 МБ. (сорцев на ~50 МБ)
Компилить сорцы на Pentium III 1 GHz сколько времени? Минут 5-10? Или больше?
А если ставить бинарный (платформа-зависимый) пакет? Секунд 30?
А если бы такой проект был написан на Fpc, то эти же 50 МБ скомпилились бы за этиже 30 сек. Отсюда можно сделать вывод, что FPC дает шанс создавать универсальные, установочные пакеты, которые быстро ставятся и работают на любых платформах.
Необходимо лишь разработать стандарты и спецификации.
Вообще то мне, как админу, пофигу сколько оно там компилится. Мне главное, чтобы работало быстро и эффективно. Смысл использовать паскаль как замену С будет тогда, когда его компилятор научится генерировать БОЛЕЕ эффективный код чем С т.е. никогда. Паскаль нужно использовать для того, для чего его и создавали - для обучения студентов.
Ага.
Вы лучше сравните Паскаль и Яву.
А ведь яву сейчас во все дырки втыкают и серверных приложений много развелось.
Особенно когда попытаешься поработать с программами мониторинга серверов производства Intel, при всяких траблах быстрее сбегать в серверную и там поглядеть, чем добиться хоть какой-нибудь информации от программы.
Буду спорить сразу со многими.
Pascal как раз более пригоден и для обучения и для промышленного использования.
1. Не дает волю природной лени программеров явно объявлять переменные. Защищает от многих других вольных упрощений, свойственных "крутым программерам". Приучает к дисциплине, без чего серьезные разработки вести просто нельзя.
2. Строго следит за качеством кода, снижая неожиданные ошибки (в т.ч. с переопределением и некорректным применением переменных).Те недостатки, которые ставятся в упрек Паскалю очень четко говорят о вредных привычках тех, кто на них указывает. Паскаль более строг, значит код более надежен. От серьезных разработчиков жалоб заметно меньше, они и на C и на любом другом языке пишут аккуратно. Потому и проблем со строгостью к качеству кода у них не возникает. А разные "трюки" - суть плохой стиль программирования и риск для проекта. Посмотрите спрос на программистов у нас и в USA. Туда нужны Delphi, у нас - С. У нас полет мысли, у них - предсказуемый результат.
Возможности вполне сопоставимы. Враг - мода на C (плохого о последнем ничего не скажу, не ждите, вопросы не в языку, а к программистам). C, его среды разработки и компиляторы развивают многие, а Паскаль присутствует только у Борланда. Отсюда и разница в развитии сред разработки и в популярности, увы. А дальше цепная реакция: меньше программеров - меньше спрос - меньше развитие языка и т.д.
1. Я все понимаю, но вот давайте не будет мешать Delphi и FPC.
2. Я еще писать сидя на горшке не научился, а указатели уже были.Новость зачетная. А холивар вы, красноглазые, зря устроили.
Такова природа человека, лень, гордыня, страх...
Если есть что-то угрожающее спокойному баблосшибанию, то они стараются сразу оплевать, опорочить, быть, мол, для школьников/студентов и тд.Вдруг придет хороший делфятник, и заменит собой 5-10 программистов на С++)))
А ведь за насиженное место страшно.
Важен ведь результат, прибыть, а не множественное наследований или краткость кода)))
Абсолютно верно: сначала мы боялись, что нас выживут программисты на Прологе - языке будущего, потому на Паскале - языке будущего, потом на Яве - языке будущего, потом на Аде - мегаязыке будущего, созданном для американского ВПК (т.е. всё по-взрослому), теперь вот Дельфи и .Net - снова боимся... 20 лет страха...
На самом деле Дельфи, Ява и т.д. - это просто способ оптимизации расходов на персонал. Т.е. чтобы получить веб страничку или программу для выписки накладных больше не нужен высококвалифицированный спец, сойдёт и лоботряс-первокурсник. По настоящему высококвалифицированный спец в этом угрозы для себя не видит, наоборот ему достаются самые интересные задачи. И оплачиваются они соответствующим образом.
А теперь вопрос "по делу". На FPc сейчас можно реально писать модули для Apache? Кто-нибудь практикует? А то со смертью Kylix и уходом Delphi в .NET едва зарождавшаяся приятная возможность канула в лету. Теперь опять выбор между интерпретатором PHP и C. Ни тот ни другой вариант не устраивает по разным причинам. Вот вариант Borland D/K был реально удобнее, только не все интерфейсы адаптировать успели.
>А то со смертью Kylix и уходом Delphi в .NETDelphi не ушла в .NET. Она идёт по двум направлениям сразу.
И хватит уже! Фломастеры - РАЗНЫЕ! И по вкусу, и по толщине стержня.
А возможности одинаковые.
есть Pascal Server Page, стоит поискать и почитать, если интересно.
до массового разлития Явы по сайтам была идея (и реализация) подобной технологии с использованием Оберона, называлась Juice, тоже можно почитать.
Сейчас выдвину крамольную мысль: паскаль и C не отличаются ничем кроме синтаксиса. Ну тоесть вообще ничем. Все разговоры про недоступность "низкоуровневого" программирования не имеют под собой никаких оснований. Скорость выполнения на 90% определяется программистом (алгоритмом) а не компилятором.
По поводу типизации: считаю, что в больших проектах строгая типизация это большой плюс. Практика показывает что минутная экономия оборачивается месяцами вылавливания багов, и хорошо если эта программа выполняется не где-нибудь за 5000 км. от офиса. Сам в работе использую и С и FPC.
+100
поддерживаю!! отличия только в синтаксисе !! С-шникам лень писать begin ... end, вот они и придумали свои любимые { } :))
>и C не отличаются ничем кроме синтаксисаправда ? посмотри хотябы на убогий цикл for в паскале. как на нём написать цикл по двум переменным for (int i = 0, j = 0; i < 100; i += (++j)++) ? по переменным не типа int ? И так везде, куда не сунешься.
>По поводу типизации: считаю, что в больших проектах строгая типизация это большой плюс.Если вы набираете в команду недоучек-студентов, не понимаете, что делаете, не смотрите на warningи компилятора, тогда да. Но эту мысль можно развить так: нужно всегда пользоваться ложкой, потому как вилкой можно ненароком выколоть себе глаз. Что вы за программисты такие, если даже сами себе не доверяете и хотите чтобы вас контролировали даже там, где это не нужно?
Но даже, если смотреть на простые begin end, то сколько вы тратите своей программистской жизни на набивание этих бесполезных слов. Короче, от паскаля, такое же ощущение, как от случайно попавших на простынь песчинок, мешающих спать: программировать на нём можно, но только страшно раздражаясь по мелочам.
>правда ? посмотри хотябы на убогий цикл for в паскале. как на
>нём написать цикл по двум переменным for (int i = 0,
>j = 0; i < 100; i += (++j)++) ? по
>переменным не типа int ? И так везде, куда не сунешься.Цикл можно делать по всем перечисляемым типам. А цикл for изначально предназначен для последовательного перебора по одному параметру. Для всего остального есть while. А это ваше нецелевое использование for лишь ухудшает читабельность кода.
>Но даже, если смотреть на простые begin end, то сколько вы тратите
>своей программистской жизни на набивание этих бесполезных слов. Короче, от паскаля,
>такое же ощущение, как от случайно попавших на простынь песчинок, мешающих
>спать: программировать на нём можно, но только страшно раздражаясь по мелочам.Меня, например, очень раздражает необходимость зажимать shift для набора этих ваших {}, я их медленнее, чем begin end набираю.
>Для всего остального есть whileНу да. Можно извратиться и while, если по нормальному не получается. Кто ж спорит то. Это и есть идеология паскаля - загонять программиста в рамки. Т.е. если на С вы можете писать и так и этак, выбирая вариант, который ВЫ, считаете правильным, то в паскале вы ВЫНУЖДЕНЫ выбирать вариант, который кто-то выбрал за вас, посчитав правильным. При это всегда обосновывается тем, что "так правильно". Т.е. не инструмент для человека, а человек для инструмента. Благодаря такому подходу, программирование уже почти превратилось из искусства в банальное ремесло.
>Цикл можно делать по всем перечисляемым типам.
Ух ты. С тех пор, как я в последний раз имел дело с этим недоязыком, произошёл определённый прогресс. Наверно благодаря Борланду, который в свой дельфи тащит все сишные фишки.
>я их медленнее, чем begin end набираю.
Ну, потому на Паскале и программируете :-)
Ещё такое вопрос. Не в плане наезда на пасквилянтов, а просто из чистого детского любопытства: шаблоны классов в пасакале уже появились ?
>Ещё такое вопрос. Не в плане наезда на пасквилянтов, а просто из
>чистого детского любопытства: шаблоны классов в пасакале уже появились ?Нет, не появились.
>Ещё такое вопрос. Не в плане наезда на пасквилянтов, а просто из
>чистого детского любопытства: шаблоны классов в пасакале уже появились ?Так, тоже чисто для справки, не в плане наезда. Классов в Си вообще нет, и в Паскале тоже. Это не ОО языки. Turbo/Object/etc Pascal - это уже другие языки, к развитию которых автор Паскаля не имеет никакого отношения. То же можно сказать и о C++ и Objective-C по отношению к оригинальному языку Си.
P. S.: Сам я с одинаковым уважением отношусь и к Си, и к Паскалю, хотя уже и не припомню, когда в последний раз что-то писал на Паскале или каком-нибудь паскалеподобном языке.
>Так, тоже чисто для справки, не в плане наезда. Классов в Си
>вообще нет, и в Паскале тоже. Это не ОО языки. Turbo/Object/etc
>Pascal - это уже другие языки, к развитию которых автор Паскаля
>не имеет никакого отношения.Выше по тексту налицо явное смешивание в термине "C" как самого C,
так и C++. "Голый" C лично я весьма редко использую, исключительно
для написания кода под ОС, на которые трудно найти либо хлопотно
установить компилятор C++ - типа OpenVMS.>То же можно сказать и о C++ и Objective-C по отношению
>к оригинальному языку Си.Действительно, автор Паскаля не имеет отношения к языкам C++ и
Objective-C :). А вот комитеты по развитию стандарта C++ и C
процентов на 40 состоят из одних и тех же людей.>P. S.: Сам я с одинаковым уважением отношусь и к Си, и
>к Паскалю, хотя уже и не припомню, когда в последний раз
>что-то писал на Паскале или каком-нибудь паскалеподобном языке.+1
> ... программирование уже почти превратилось из искусства в банальное ремеслоК слову сказать, некоторый "авангардист" - "специалист" от искусства - такого понапишет, что кроме него самомго никто код разобрать не может, да и читать противно! А ему нравится, прям душа поёт :-) "Ну и пусть себе летит железяка ржавая" (c)
Свободой нужно, конечно, учиться владеть.
Да чего там спорить-то, Си и Паскаль - разные языки и программисты выбирают то, что им ближе или лучше подходит под конкретную задачу. Ну давайте еще поспорим какой язык лучше: русский или английский :-) На английском, например, больше статей написано в инете... :-D
Кстати в яве многое позамствовано из паскаля,например идея байт-кода
Ребята,
не спорте о том о чем спорить не нужно! Паскаль - это идеальный язык для обучения программистов на начальном уровне. Хотя бы из-за этого этот язык имеет право на существование.А все ньюансы (которых есть бесконечное множиство) - это ньюансы... Таких ньюансов есть много. Примеры лень приводить. от fortran-а до ruby. это целая пропасть языков! Просто каждый выбирает ПОТОМ то, что ему удобнее.
Да ты Гуру!)))
Вот скажи, на чем написано ППО в банках? А в Администрации? А на почте?
Они лучше будут на венде сидеть, ради того, чтобы ничего не переделывать, тем более на С или кофе. (что выльется в сбои и большие затраты)
FPC вполне хорош, что за вирус такой: "Паскаль для обучения"? TP7 – для обучения.
FPC - не для обучения, он предназначен, а для использования Delphi программ на любых платформах.И ПОТОМ можно не выбирать, он вполне подойдет для любых целей, от ядра ОС, до огромной гуайной программы. Или тебе тоже страшно за свое насиженное место?
>TP7 – для обучения.1. Устарел в сравнении с реализацией языка в Delphi.
2. Коммерческий продукт! При всей моей любви к Borland ...
Нравится вам или нет, но FPC/Lazarus - это единственный способ пересадить делферов на Linux, а делфер в небольшой компании - вещь просто необходимая.
Пустой Халивар(((
Не надо делферов пересаживать на линукс. Пусть будет заповедник свободный от идиотов. Ведь в след за ними прибегут маркетологи борланда - и тогда точно случится то, о чём так мечтает Мелкософт.
Сам Free Pascal на си написан, однако.
Ошибаетесь, он сам себя компилит.
кстати, в статье написано, что:"Compared to interpreted languages, one sees that FPC code executes 50 times faster than e.g. Ruby. The difference with PHP and Java is smaller, but these use 14 (PHP) to 17 (Java) times more memory than FPC programs."
пусть у меня английский и хромает на обе ноги, но в статье написано, что Free Pascal быстрее Ruby и в 14(17) раз ест меньше памяти, чем PHP(JAVA).
>кстати, в статье написано, что:
>
>"Compared to interpreted languages, one sees that FPC code executes 50 times
>faster than e.g. Ruby. The difference with PHP and Java is
>smaller, but these use 14 (PHP) to 17 (Java) times more
>memory than FPC programs."
>
>пусть у меня английский и хромает на обе ноги, но в статье
>написано, что Free Pascal быстрее Ruby и в 14(17) раз ест
>меньше памяти, чем PHP(JAVA).Да уж... ляп в новости преизрядный.
Мне сразу странным показалось, потому как при беге в мешках (сиречь в тестах) Java на современных, JIT-компилирующих виртуальных машинах нисколько не медленнее C++. Просто жрет много памяти и вдобавок в самый неподходящий момент принимается собирать мусор.
Давайте не трогать Java.Я джавист. Пробовал си/паскаль
Просто если у меня стоит задача гонять по сетке сущности, то я не заметил чтоб такие механизмы как Reflection были у си или паскаля.
А вот модуль ядра для линукс на Java не соберешь:)Паскаль для одного, си для другого, Java - для третьего.