Самое смешное, что ни один современный язык(компилятор) не реализует по нормальному концепции ООП. Ближе всех к этому стоял smalltalk...
По поводу асма... в свое время на фоуме IBM была обширная дискуссия по ручной оптимизации кода. Тесты показали, что компилятор IntelC генерирует более эффективный код по сравнению с ручным кодированием. Т.к. человек(99% программеров) почти не может учитывать особенности современных процессоров и компьютеров (конвееры, распараллеливание, предсказания переходов, кэши, лаги и т.п.). Имхо область применения асма достаточно узкая, чтобы тратить на его профессиональное освоение годы...
В больших проектах (посложнее Hello World) на первое место выходит скорость разработки и возможность сопровождения/модернизации/повторного использования кода, т.к. функциональные возможно современных языков почти одинаковы с небольшими флуктуациями.
GreyWind
30.08.06 - 10:59
>>В больших проектах (посложнее Hello World) на первое место выходит скорость разработки и возможность сопровождения/модернизации/повторного использования кода
Вот вот. Не могу не согласиться).
>>Назовите сначало сами принципы, а потом мы обсудим их реализацию конкретно в языках.
Принципы - инкапсуляция, полиморфизм, наследование и композиция.
>>Ближе всех к этому стоял smalltalk...
Дык и стоит). Проектов на нем еще много.
http://www.smalltalk.org/.
Немного знаю РНР, к другим даже не притрагивался. Для того чтоб хоть чему то научиться, начал писать движок CMS. Правда не очень приуспел, но работа идёт. Кто желает, может посмотреть на htto://internet.alfamoon.com
Цитата:
нормальному концепции ООП. Ближе всех к этому стоял smalltalk...
Весьма аргументированная тз, вообщем в библиотеку за Бутчем, если еще в институте/школе его не прочитали.
Также как и всем остальным.
Ну, а перлы типа
функциональные возможно современных языков почти одинаковы с небольшими флуктуациями. даже обсуждать не хочеться. Поможет Пратц, Зельковитц с ихними "Языками программированиями".
Как прочитаете вышеперечисленное-продолжим...
Можно и в библиотеку... посидеть-подумать как сочетается инкапсуляция с расшариванием методов класса между объектами что генерят компилеры...
Серьезно будете настаивать на том, что можете добиться чего то особенного на с++, что нельзя сделать на асме или паскале в плане фунициклирования приложения?
Cовершенно нет желания развивать тему holy war...
Я против несправедливого занижения Delphi. Некоторые государственные проекты до сих пор пишутся на фокспре, и ничего. Delphi предоставляет корректный интерфейс и вполне приемлемо работает с базами данных. Никто не заставляет писать на нем игры, а потом жаловаться, что де C++ быстрее.
И Delphi - это не Pascal. Это даже не Object Pascal. То, что в нем делалось руками, сейчас прописано в компонентах. Обработка событый, реакция на действия пользователя, работа с памятью и переменными - слишком многое изменилось... Да, Delphi наследует синтаксис.
Но никто же не сравнивает старый консольный C с VisualStudio.
Хотите полного ООП - возьмите Java. Очень красивый язык. Но он НОВЫЙ, он разработан сравнительно недавно, и, естественно, сочетает преимущества более старых языков и лишен известных их недостатков. Кстати, универсальность и многоплатформенность несколько затрудняет визуализацию, но это уже детали.
А писать приложения для виндов вполне удобно на Delphi.
Grom Hellstrom
01.09.06 - 00:09
>> Butch: а никто и не говорил что асм надо учить и широко использовать

однако ни один процесор не будет
работать пока он не будет прошит соответствующим кодом который пишут на асме... это раз... любой
высокоуровневый язык в конечном итоге транслируется в набор команд которые железо может выполнить
а это опять таки асм... это два...
К вопросу об ассемблере. Да, интеловский компилятор генерит довольно быстрый код, но и он не всесилен, к тому же платный, зараза.
Потому для тех, кто оптимизирует уже написанную или пишет прогу, критичную к производительности, то тут знания процессорных архитектур и ассемблера просто необходимы.
Хотя, конечно, это достаточно узкая область, по крайней мере, сейчас. Но для общего развития всё равно полезно.
Причём начинать желательно не с ассемблера, а с алгоритмической оптимизации (а тут и серьёзная математика может пригодиться, зависит от задачи), затем неплохо заняться оптимизацией по памяти, ибо память тормозная в сравнении с процессором, потому часто является узким горлышком кувшина. И только при понимании архитектуры можно приступать к ассемблеру, можно параллельно его изучать, по мере изучения основных процессорных блоков.
Ясен пень, никто не станет писать крупный проект целиком на ассмеблере. Его сначала отлаживают и тестируют на нормальном С++ (или кому чего нравится), а потом уже (с уверенностью в правильной работе) можно делать ассемблерные вставки для критических кусков кода. Редко этих вставок бывает так уж много.
m4dragon
23.12.06 - 22:12
Basic,C++,Java,Mecromedia(HTML,CSS) на Pascal Только учусь
Недавно начал изучать Action Script 2.0 как оказалось, со времен первой версии этот скриптовый язык, из обычного языка сценариев перерос в полноценный объектно-ориентированный структурный язык. Конечно это не Делфи и не С# но написать на нем можно все, через связку с php можно обеспечить связь с SQL, что опять же дает ему неплохие шансы на утверждение в вебе. Однако же считаю что это язык наиболее подходит для геймдева, на ранних стадиях. Его объединенность с пакетом Flash, облегчает жизнь дизайнерам. Сам язык, довольно сильно похож на Java, собственно с него и писался, но в последних редакциях появился ряд отступлений.
>> Finve:
Почему бы не писать целиком на PHP, если в web?
>> Arilita: ответ очень прост, php не объектно-ориентированный язык, а язык запросов, он умеет работать с БД но качественно работать с графикой... легче ногу свернуть, не рассчитан он на это... вот обработка текстовой информации это пожалуйста. Ну сам сравни, возможности Flesh`а и php это же абсолютно разный уровень!
Grom Hellstrom
01.02.07 - 14:31
>> Finve:смотря о какой графике речь идёт... в РНР можно свободно работать с графикой вплоть до манипулирования изображениями... да 3Д на нём не сделаешь... ну если только псевдо

а так... построить график или диаграмму, гистограмму -- тока в путь...
А флэш как ни крути при всей своей красоте и т.д. жрёт трафик... а ведь у кого-то каждый килобайт на счету
Да и назначение у РНР и ActionScript абсолютно разные...
Так я про то и толкую, php не подходит под создание игр, ну разве что браузерных, и с минимальной анимацией, в противном случае трафика кушаться будет щее больше чем у Флеша. Что же касается того что Флеш кушает трафик... ну скажем так, у нас в стране инет вообще находится не в самом лучшем состояние, большинство народу сидит на модемах и для них этот трафик на самом деле очень критичен. А вот для жителей нашей столицы, это уже прошлый век... И там не проблемка загрузить 2-3 лишних мегабайта... их просто не заметят! =)
Хммммм... начинал с Basic'a на ZX Spectrume, потом была куча клонов васиков для х86 (GW Basic, QBasic, Turbo Basic), Pascal (TP5.5), C++ (BCPP 3.1), немного ASM'a, немного VBA (для автоматизации ехеля), сейчас Delphi + OpenGL, пробую перебраться на FPC + OpenGL
Lord Andrill
05.10.07 - 20:42
Сейчас, обучаясь в школе, начал учить Паскаль. Уже первые программы делаю. Очень понравилась вещь возможно и потому, что я в этом очень хорошо соображаю(не воспринимайте за хваставство).
V svoe vremya v kolledge nachinal s VB (Visual Basic), potom Pascal, C, Asm. Pascal rulit

Vot bu DDK eshe...
Дед Сладкая Доля
06.10.07 - 12:07
Начинал...э-э-э...с Питона)))НО сейчас на паскале-скажу на паскале как то всё легче,а вообще не сильно люблю програмирование.
Знаю Pascal, на нем программировать умею. Сейчас учу Assembler... Друг программирует на Delfy, хочу научиться =)
Недавно был на курсе по JAVA... Почти ничего не понял
занимаюсь php и AS.
в школе учил паскаль.
недоучил)
Не понял, почему среди вариантов присутствует Фортран, о котором не многие слышали, но отсутствует Delphi...
Изучал Turbo Pascal, затем перешел на Delphi, но не особо долго знакомившись закончил, теперь С++ изучаю (все это по колледжской/институтской программе).
Да, забыл сказать, Паскаль рулит, сразу видно то, что создавался он преподом для своих студентов, а не хрен знает для кого...
Цитата:
Да, забыл сказать, Паскаль рулит, сразу видно то, что создавался он преподом для своих студентов, а не хрен знает для кого...
Для учебных целей вполне вероятно. Для остального...гм...
Вообще, эта зашоренность преподования программирования у нас поражает.
На уроках информатике занимаются программированием на бейсике или паскале(почему на уроках физике не занимаются сборкой ДВС?).
Ну и дельфи...это болезнь многих.
лучший язык для обучения - ML. Элегантен и прост. Жаль, что ограничено его применение, но свое нишу, в отличии от паскаля(дельфи) имеет.
Vladixxl
08.11.07 - 20:30
Я хочу выучить Java для того, чтобы писать игры для мобил. Подскажите пожалуйста, какой самый лучший учебник по Java? Очень хочу выучить! Не знаю пока ни одного языка.
Я смогу подсказать "софт", который понадобится для написания java-мидлетов для мобильных устройств: 1) JDK (Java Development Kit, если не ошибаюсь) 2) Sun ONE Studio Mobile Edition (собственно среда разработки). Вроде ничего не забыл...
Dr. YankeeDoodle
09.11.07 - 05:15
>> NixRooT: Еще желательно эмуляторы предпочтительных моделей. Для тестирования работоспособности.
Дело в том, в частности, что бывают реализации MIDP с доступом к файловой системе аппарата и без. Но и это еще не все: API доступа у разных производителей зачастую разные (у Моторолы, Нокии, старых и новых Сименсов)
Это важно учитывать при создании мидлета
Marauder
09.11.07 - 13:03
>> Haradus: Цитата:
Для учебных целей вполне вероятно. Для остального...гм...
Не знаю, не знаю... ИМХО, Дельфи (по сути, тот же паскаль) гораздо удобнее Си. Хотя, это лично мое мнение. У каждого языка есть плюсы и минусы
-Valter-
09.11.07 - 13:17
Сейчас пишу различные модели на Delphi. Соответственно, знаю и Pascal. Не так давно изучил Fortran, коим пользуюсь, когда нужно много мат. вычислений делать в расчетах не первого и не второго уровня сложности.
>> Marauder:
Ну... на С++ есть не менее удобный билдер, хотя он, паразит, не соответствует стандартам.
Цитата:
Дельфи (по сути, тот же паскаль) гораздо удобнее Си. Хотя, это лично мое мнение. У каждого языка есть плюсы и минусы
По сути не тот же паскаль

. Паскаль изначально - сугубо учебный язык.
Язык не может быть удобнее. Может быть удобнее IDE-шка.
И насчет удобства - ничего изящнее работы с WinForms под MS VS не существует.
Дельфи, как язык не реализует ООП, а соответственно для меня не приемлим.
P.S. любой пост по сути является твоим личным мнением
Marauder
30.11.07 - 12:13
>> Haradus: Цитата:
Дельфи, как язык не реализует ООП, а соответственно для меня не приемлим.
У каждого языка свое предназначение. Никто ведь не станет программировать ИИ на Java. На данный момент времени мне не требуется работа с объектами, поэтому Дельфи для меня более привлекателен. А что до удобства - как говорится, "на вкус и на цвет...".
-Valter-
30.11.07 - 17:15
Цитата: (Haradus @ 30.11.07 - 12:22)
Дельфи, как язык не реализует ООП, а соответственно для меня не приемлим.

Все книги по Делфи, что я читал и по которым в свое время учился, называют его объектно-ориентированным...
Осталось тебе прочитать Буча

От одного наличия классов язык не становится моментально ООЯ. По такой же логике - С(именно С, а не С++) по новому стандарту - гораздо более ООЯ, чем теже дельфи.
Vampire Lestat
04.12.07 - 22:58
ООП в DELPHI мне хватает для реализации задач, которые мне приходется решать, думаю что они несклолько посложнее школьного уравня.
Конечно не кто не будет спорить что в С++ реализация ооп гораздо продвинутей чем в любом другом обьектно орентированном языке.
Думаю что сейчас НЕТ такого языка программирования который одинаково хорошо подходил для решения всего спектра задач(прикладное программирование, мат. задачи и т.д.), стоящим перед программистом. Если бы у меня кто-то спросил что сейчас актуально изучать, я бы наверно сказал что актуально изучать С# , но надо брать книгу по языку и наивно считать что таким образом вы научитись программировать, что бы хотябы стать немного продвинутым без теории информации и
ВМ далеко не укатишь

!!!
Klain MkKlaski
05.12.07 - 00:42
Не знаю откуда такие мысли про C#. Он идеально подходит для сетевого программирования. А прикладное и системное программирование - С и С++, чего еще надо? Делфи это абсолютно тот же билдер)) Что на одном , что на другом под консоль не попишешь. Лучше С - почему? Потому что на нем написано почти все. Включая программирования в Unixах.
Другой вопрос, зачем переходить на C если для твоих задач подходит Паскаль?
Но лично я считаю - что знать достаточно С - на его основе написанны и ActionScripts и PHP и т. п.
Зная С начать писать на С++ - вообще не трудно.
Вообще вся идея не в синтаксисе конкретного языка, а в знании различных техник программирования, и ООП и просто структурное, процедурное, автоматное и т.п.
А выучить несколько операторов и операций, уж извините не так сложно.
И кстати C# написан Microsoft на замену яве, для своего .NEt
Цитата: (Klain MkKlaski @ 05.12.07 - 01:42)
А выучить несколько операторов и операций, уж извините не так сложно.
Сложнее потом не запутаться, и не писать "венигретом" из операторов, а то сидишь потом и гадаешь, алгоритм верный, все написано без ошибок... а компилятору (той части, что проверяет синтаксис) че-то не нравится...
Klain MkKlaski
05.12.07 - 01:26
Самое тяжелое с Паскаля на С и наоборот. Я хоть и начинал с Паскаля, теперь уже боюсь и не люблю его( И даже нет желания начинать что-то делать на нем - хотя надо. настоящая засада.
Vampire Lestat
06.12.07 - 02:21
Ну моя эволюция была такая Pascal<Object Pascal<PHP<C<C++<C# , хотя сейчас чаще всего приходится писать на Object Pascal(Borland Delphi) т.к. пишу приложения для Win32, и редко какой мой заказчик знает что такое *nix. И главной задачай которая предо мной стоит является скорость сдачи проэкта - время деньги.
Ну не знаю... ИМХО с Паскаля на С самое то переходить и еще хотелось добавить, что не только IDE могут быть удобными, но и сам язык (своим синтаксисом и реализацией определенных задач).
Klain MkKlaski
06.12.07 - 19:55
Цитата:
Книгой самого Страуструпа вообще убить можно

)(А вот прочитать до конца практически нельзя

)
(из статьи)
это точно
Цитата: (Klain MkKlaski @ 06.12.07 - 20:55)
(из статьи)
Книгой самого Страуструпа вообще убить можно )(А вот прочитать до конца практически нельзя )
это точно

Ну знаете, по ХРеновой Форточке тоже не мало написано, и что с того (~1К Стр.)? Сейчас читаю учебник (я понимаю, что сравнивать это практически нельзя, но все же) от того же Трупа_Старуса и нормально понимаю. Часто хуже, когда написано мало - если не дошло сразу, то уже не дойдет, а так, в одной теме половину прочел и понял (никто не заставляет же читать все от корки до корки), а в другой всю прочесть нужно, чтобы что-то понять, а иногда и этого не хватает.
Хотя, в общем, претензии не столько к тебе (хоть ты и согласен с позицией автора), Klain MkKlaski, сколько к автору той статьи...
Klain MkKlaski
06.12.07 - 21:34
а я не понял какие ко мне претензии вообще могут быть, даже не какие либо)))
А насчет страуструпа - ты примеры предложенные им делаешь??
Текст, который там написан и я понимаю.
Цитата: (Klain MkKlaski @ 06.12.07 - 22:34)
А насчет страуструпа - ты примеры предложенные им делаешь??
А как примеры можно "делать"?

Читать и понимать - это можно, это я делаю... или ты имеешь ввиду пробовать их "вбивать" в тот же С++ и ждать результат, который был получен в учебнике?
Пока единственная книга, которую я высоко ценю - "Программирование для Linux. Профессиональный подход" (Марк Митчелл, Джеффри Оулдем, Алекс Самьюэл. CodeSourcery. New Riders/Вильямс). Это действительно стоящая книга! Остальные изучаю по надобности...
Klain MkKlaski
07.12.07 - 00:59
там вообщето есть задачи.
Цитата: (Wyvern)
Злая статья Сишного программера
Статья писалась ламером.
Цитата:
абстрактнывй тип данных (АТД) и объект.
Маленький ламер не в курсе относительно virtual ff ()=0; Наличие такой функции означает для компилятора - распозновать данный класс, как абстрактный и не создавать экземпляр такого типа.
В отличии от дельфи, где такой объект создасться

Если уж человек и этого не знает, то зачем он вообще сунулся писать такую статейку без намека на объективность?
Остальные его ламерские замечания относительно шаблонов, эффективности и прочее...гм даже комментировать не буду. Видимо, книжки он удивительно как-то читал

Хотя этого дурака объясняет лишь одно:
Цитата:
Книгой самого Страуструпа вообще убить можно

)(А вот прочитать до конца практически нельзя

)
Не читал, но имею мнение. Неплохо характеризует таких деревенских "знатоков".
Klain MkKlaski
07.12.07 - 13:51
Цитата:
Не читал, но имею мнение. Неплохо характеризует таких деревенских "знатоков".
Это ты зря так.
На самом деле третье издание этой книги - наверное самое полное руководство для C++, из существующих, думаю понятно почему)
Но для новичка, например перешедшего с того же Паскаля, будет очень тяжело из-за наличия колосального колличества не очень структурированной для обычного учебника информации.
Мое мнение - нужно браться за эту книгу если ты уже крепко стоишь на ногах в C++. ИМХО
+ как я уже писал выше Страуструп предлагает достаточно нестандартные примеры и задачи. Если вы с ходу можете в них разобраться - это говорит только о ваших способностях, однако не все ими могут обладать.
Вообще на форумах я читал, что эта книга - лучшее средство для отбития желания изучать C++)))
Сам я прочитал в ней только первую и немного из второй части, а затем перешел на другую)
Мне для начал С++ порекомендовали Стивена Прата. Я его книгу купил и не пожалел...
Не совсем по теме, но это косается программирования:
Работаю в Дельфи 7, через Console Aplication иммитирую Pascal, т.к. в инсте его нет, да и работать удобнне, чем в оригинал (Ctr+C, Ctr+V работает

). Делаю вывод (write) строк ака интерфейс, но при попытке написать что-то на русском в результате выдает голимотью... Знаю, что это можно как-то исправить, что-то там со шрифтами... но вот что? И как?
(Собираюсь применять дома, а не в инсте).