Здравствуйте, ZayatsZ, Вы писали:
ZZ>Здравствуйте, _doctor, Вы писали:
_>>В нлубоком детстве, лет эдак в 12 довелось мне выучить Basic (вернее, его начала) по некой загадочной детской книге издательства МИР, за которую я до сих пор благодарен дяде
ZZ>Случайно не "Бейсик — это просто"?
Здравствуйте, Cyberax, Вы писали:
C>s.ts пишет:
C>А большинство пишущих на Паскале/Дельфи — студенты и школьники. Говорить C>о качестве их кода или промолчать?
Довайте поговорим о качестве кода студентов и школьников, пишущих на C++
Сам я пишу на С++, начинал Паскаль->Delphi пекрешел на C++ так как нужна была перегрузка операторов. В добавок в Паскале нет шаблонов.
Кё>Ну как раз против Си Паскаль держится очень уверенно
Разве что в гробу, где ему и место. Си по прежнему широко используестся в системном програмировании(драйвера, ядро ОС) и в встроенных системах(контролеры, DSP, SoC) ни там, ни там Паскалю ничего не светит. С(не путать с С++) это эдакий переносимый макроассемблер, который достаточно легко портировать почти на любую платформу, и садится он на эти платформы очень гладко, бывает что перевод один в один инструкций в асм и другие языки з такими возможностями мне не ивестны. А Паскаль как язык решения прикладных задач своё отжил(Модула-2 и Оберон, это другие языки пускай с Паскалеподобным синтаксисом) и место ему только разве учить студентов и то из-за нехватки часов я предпочитаю начинать сразу с С, хотя мечтаю найти время и дописать програму для Python. Delphi тоже считаю уже немного другим языком.
Кё>и лично я бы предпочел не очень удобный паскалевский синтаксис и ОО, чем Си и старательную эмуляцию ООП через структуры и хранимые в них указатели на функции. А вот современный C++ — совершенно другое дело.
Ну там где не нужно ООП не используется и не эмулируется, а там где нужно создаётся компилятор С++ или по крайней мере через cfront переганяется в С.
Здравствуйте, Whistler, Вы писали:
S>>>великолепные возможности по работу с железом... AJD>>Какие такие возможности есть в Си и нету в Borland Pasсal? AJD>>И какие вообще есть возможности по работе с железом у Си на уровне языка?
W>Port[1..65536] : Byte, absolute, asm, Intr, Memory[$xxxxx]: Word — в Турбо Паскале W>тоже есть весь боекомплект для работы с "железом". Чем он в этом отношении W>хуже СИ?
Очень простой пример ++i, в большинстве своём переведётся в inc i, в случае с Паскалем нужен ещё оптимизатор, который нужно написать, но не факт что он не будет написан, которого может и не быть, дальше cdecl calling convension компактнее что для встроенных платформ значительное преимущество, дальше у языка есть много способов подсказать компилятору как лучше откомпилировать код,а работа с указателями и масивами это вообще песня, на Паскале это через жопу сделано. Создать компилятор для С достаточно легко, так как он просто в упрощении может в большинстве случаев рассматриватся как продвинутый переносимый макроассемблер. Но людям которые для железа ничего не писали это сложно понять, они мыслят в терминах настольных систем, которые здесь попросту неприменимы.
W>СИ-шники — вы параноики, до безобразия параноики. Думаю у вас комплекс неполноценности W>играет, что вы все так на паскалистов (делфистов) кидаетесь.
Анекдот про неуловимого Джо слышали, да не нужны вы нам, жизни радоватся можно тихо. Если речь идёт о С, то Паскалистов даже никто трогать не будет, покойники нам не конкуренты. W>Кидайтесь, кидайтесь. Я по работе программирую на си-шарпе один из немногих в своей конторе, также существует большая коалиция СИ-шников — которых мы постоянно "имеем" по качеству,
Тогда почему не Delphi.NET? Синтаксис у шарпа с-подобный. Может всё таки вы чувствует у него какие-то недостатки? W>срокам, да и вообще по ширине размаха мысли. Я бывший делфист — и горжусь этим.
Ну и что, а я писал на Borland C++ и OWL и считаю єто хорошим опытом и ничего. Собственно мне плевать на чём человек писал в прошлом, мне главное чтобы его прошлый опыт помогал решать мои задачи в настоящем, а в моей сфере такой опыт скорее всего будет бесполезен и даже вреден, так как люди привыкшие к визуальным средам просто теряются видя то убожество(я о IDE, хорошо если она вообще есть, а не блокнот) с которым им приходится работать и большинство убегают, так как приходится ещё и больше думать, это при том что зарплата в среднем на 30-40% выше чем та которую они получали бы "шарпая".
А вообще если говорить о С, то С имеет широкое применение в нескольких сферах и там ему конкурентов пока не предвидится, а класический Паскаль умер и притом давно.
Здравствуйте, DEMON HOOD, Вы писали:
DH>Здравствуйте, Cyberax, Вы писали:
C>>А большинство пишущих на Паскале/Дельфи — студенты и школьники. Говорить DH>нескажи... DH>в одном из местных ВУЗов есть хорошая традиция DH>старшекурсники отдают младшим свои лабы\конспекты итд
DH>но преподаватели они тоже не дураки DH>если в этом году курс программирование к примеру был на Делфи, то в следующем уже на билдере потом вижуал c DH>вобщем, вот такая защита от взлома
Да ладно мне достаточно одной минуты чтобы понять писал ли работу сам студент или за него писали. Ну и у меня каждый семестр задания другие. а вобще выделеного времени на Делфи не хватает, потому чтобы успеть научить их что-то програмить сразу с С начинаю.
Здравствуйте, GreyJedi, Вы писали:
GJ>Здравствуйте, Cyberax, Вы писали:
C>>s.ts пишет:
C>>А большинство пишущих на Паскале/Дельфи — студенты и школьники. Говорить C>>о качестве их кода или промолчать?
GJ>Довайте поговорим о качестве кода студентов и школьников, пишущих на C++ GJ>Сам я пишу на С++, начинал Паскаль->Delphi пекрешел на C++ так как нужна была перегрузка операторов. В добавок в Паскале нет шаблонов.
Моя Деградация:
MSX Basic
Borland Pascal 5.0
Borland Pascal 7.0
Borland C++ 3.0
Turbo Assembler 5.0
Borland C++ 5.0
Visual C++ 5.0
Visual C++ 6.0
(а ещё VHDL, Verilog, Motorola DSP asm и ещё з пятёрка других асмов)
Visual C++ .NET 2002
Visual C++ .NET 2003
Python, Tcl, Java(маленько)
PSoC С & ASM + JavaScript
Здравствуйте, Stoune, Вы писали:
Кё>>Ну как раз против Си Паскаль держится очень уверенно S>Разве что в гробу, где ему и место. Си по прежнему широко используестся в системном програмировании(драйвера, ядро ОС)
А ничего, что старые версии MacOS были написаны на паскале?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
S> Си по прежнему широко используестся в системном програмировании(драйвера, ядро ОС) и в встроенных системах(контролеры, DSP, SoC) ни там, ни там Паскалю ничего не светит.
Вот это можно считать использованием Паскаля встроенных системах?
AndrewJD wrote:
> Кё>>Ну как раз против Си Паскаль держится очень уверенно > S>Разве что в гробу, где ему и место. Си по прежнему широко > используестся в системном програмировании(драйвера, ядро ОС) > А ничего, что старые версии MacOS были написаны на паскале?
Неправда. Старые версии MacOS были написаны на ассемблере (иначе не
поместились бы в 128Kb первого Mac'а).
Правда, была неудачная разработка под названием Lisa — там была
встроенная Паскаль-машина, но ядро ОС тоже было на ассемблере.
AndrewJD wrote:
> C>Неправда. Старые версии MacOS были написаны на ассемблере (иначе не > C>поместились бы в 128Kb первого Mac'а). > Ну я не имел ввиду столь древние маки
На более новых Маках ОС уже на С написана. Они все переписали на С/C++
(включая паскалевский код с Лизы) где-то в начале 90-х годов.
Здравствуйте, Cyberax, Вы писали:
C>Неправда. Старые версии MacOS были написаны на ассемблере (иначе не C>поместились бы в 128Kb первого Mac'а).
From Wikipedia, the free encyclopedia:
Much of the original Macintosh operating system was written in Pascal,
C>Правда, была неудачная разработка под названием Lisa
Неудачная она была в том смысле, что слишком хорошая.
1MB RAM в эпоху, когда большинство довольствовалось 64K.
Трурль wrote:
> C>Неправда. Старые версии MacOS были написаны на ассемблере (иначе не > C>поместились бы в 128Kb первого Mac'а). > From Wikipedia, the free encyclopedia: > Much of the original Macintosh operating system was written in Pascal,
Где именно? Я поправлю эту неточность... В System 1.0 на Паскале было
написано всего несколько утилит, в ядре его даже близко не было (там все
до байт оптимизировали).
Вот в Lisa был встроен интерпретатор Паскаля и достаточно много софта
было написано на нем, в том числе и ассемблер/редактор ресурсов для
Mac'а. Весь этот софт постепенно переписали на С/asm.
Здравствуйте, Cyberax, Вы писали:
C>На более новых Маках ОС уже на С написана. Они все переписали на С/C++ C>(включая паскалевский код с Лизы) где-то в начале 90-х годов.
Можешь указать конкретную версию? И по чему весь API был с паскалевскими строками?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
AndrewJD wrote:
> C>На более новых Маках ОС уже на С написана. Они все переписали на С/C++ > C>(включая паскалевский код с Лизы) где-то в начале 90-х годов. > Можешь указать конкретную версию? И по чему весь API был с > паскалевскими строками?
Чего именно? MacOS на Паскале никогда не писалась (хотя ходят слухи, что
для первой версии взяли результат компиляции части Pascal-кода Lisa, а
потом доводили его руками), блоки на С там начали появляться в конце
80-х (с появлением качественных компиляторов).
При переходе на PowerPC (т.е. в 93-94) ядро ОС переписали на С, а для
совместимости со старым кодом использовали эмулятор m68k.
Паскалевские строки задумывались для легкой интероперабельности с
Паскаль-программами. Ну и наследие Лизы тоже к этому подталкивало.
C>Чего именно? MacOS на Паскале никогда не писалась (хотя ходят слухи, что C>для первой версии взяли результат компиляции части Pascal-кода Lisa, а C>потом доводили его руками), блоки на С там начали появляться в конце C>80-х (с появлением качественных компиляторов).
C>При переходе на PowerPC (т.е. в 93-94) ядро ОС переписали на С, а для C>совместимости со старым кодом использовали эмулятор m68k.
The MacOS was originally written in Pascal, and the syntax of system calls sometimes show this origin. Pascal programmers will immediately recognize some of the "types" used by the Mac OS managers. C language programmers should take the time to learn the associated types (with special attention to Pascal's length based approach to string handling). Most MacOS based C language compilers provide versions of the headers that declare the common structures in C syntax, but Apple and other third party supplied Mac Toolbox documentation frequently is only available in the "Pascal" flavor.
2 года назад, когда писал по мак, на developer.apple.com читал про паскалевские корни. Сейчас к сожалению найти ссылку не могу.
C>Паскалевские строки задумывались для легкой интероперабельности с C>Паскаль-программами. Ну и наследие Лизы тоже к этому подталкивало.
А pascal соглашения о передачи параметров? Для С это не естественно.
Кроме того, почему до сих пор Universal Interfaces поставляются с интерфейсными файлами для паскаля.
Кстати в *.h фалах встречаются коментарии типа:
AppleEvents.h
AEEventSource is defined as an SInt8 for compatability with pascal.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
AJD>The MacOS was originally written in Pascal, and the syntax of system calls sometimes show this origin. Pascal programmers will immediately recognize some of the "types" used by the Mac OS managers. C language programmers should take the time to learn the associated types (with special attention to Pascal's length based approach to string handling). Most MacOS based C language compilers provide versions of the headers that declare the common structures in C syntax, but Apple and other third party supplied Mac Toolbox documentation frequently is only available in the "Pascal" flavor.
С таким же успехом можно сказать, что Windows была написана на Паскале. Ты не помнишь в 3.0 системные вызовы имели PASCAL calling convention (сейчас это называется __stdcall)? Но это всего лишь calling convention и не более того. Из этого нельзя сделать вывод, что OS написана на Паскале.
Кстати, такой метод вызова функций существует вовсе не из-за интеропа с Паскалем. Он позволяет сделать код вызова функции немного меньше.
Здравствуйте, alexeiz, Вы писали:
A>С таким же успехом можно сказать, что Windows была написана на Паскале. Ты не помнишь в 3.0 системные вызовы имели PASCAL calling convention (сейчас это называется __stdcall)?
stdcall и pascal — это совершено разные соглашения о вызовах.
A>Но это всего лишь calling convention и не более того. Из этого нельзя сделать вывод, что OS написана на Паскале.
Соглашения о вызовах. Типы данных. Всего ничего.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Здравствуйте, AndrewJD, Вы писали:
AJD>Здравствуйте, alexeiz, Вы писали:
A>>С таким же успехом можно сказать, что Windows была написана на Паскале. Ты не помнишь в 3.0 системные вызовы имели PASCAL calling convention (сейчас это называется __stdcall)?
AJD>stdcall и pascal — это совершено разные соглашения о вызовах.
Посмотри лучше windef.h.
A>>Но это всего лишь calling convention и не более того. Из этого нельзя сделать вывод, что OS написана на Паскале. AJD>Соглашения о вызовах. Типы данных. Всего ничего.
Я тебе уже объяснял зачем нужна PASCAL calling convention. Типы данных для того же. Не имеют они к паскалю никакого отношения. Строки есть там с длинной в начале, ну и что? OLESTR — тоже, наверное, из паскаля пришла. Дас...
Здравствуйте, Algorithmus, Вы писали:
>>можно и на XSLT положить и сделать все при помощи XML парсера, мы ведь не ищем легких путей! правда?
A>Ага... Недавно учавствовал в обсуждении проекта, который взялись делать программеры, недавно закончившие читать книгу по С++ A>Вот там и было что-то типа "Легких путей не ищем"... Ничё, сократили раза в 4