просто хорошая история языка паскаль, а заодно и вирта и виртуальных машин http://nuz.5an.kz/?id=1559
Вообще-то Дельфи -- это модернизированный Паскаль. А история -- вообще штука полезная, как ни странно. Независимо от того, насколько это прошлый век.
угу.. delphi - это object pascal.. вообще воспоминания об этом языке приятные, смешанные с алгоритмизацией и школьными олимпиадами... )) если не говорить о системном кодинге, то для программирования алгоритмов и сейчас бы юзал. хотя если не брать в учет читабельность кода, все-таки с STL многие вещи все равно делаются быстрей и удобней.
Угу, STL (точнее, поддержка шаблонов, STL без неё невозможна) -- единственное реальное преимущество Си++ над Паскалем. Правда, прожить без неё вполне возможно, но иногда конкретно напрягает
deLight Вот оно - тлетворное влияние Дельфи ) Если бы ты пришёл к С++ через асм, то реализация STL тебя бы конкретно напрягала своей невменяемой кривостью ), а так ты её даже и не замечашь - привык что всё так сделано )
Y_Mur В чём заключается кривость STL? Дану перестань. Откуда ты это взял? Доля С++ постепенно падает, хотя и не быстро, а делфи никогда не являлся мэйнстримом.
W4FhLF Не самой STL - интерфейсная часть (т.е. изначальная задумка) там вполне нормальная, а вот её стандартная реализация... просто загляни на уровень асма в любой STL объект и ужаснись )
Ну например скомпиль в MSVC прогу с объектом stack (например эту) поставь в Olly бряк на stack.push(n);, stack.top( ); и т.п. и понажимай F7 пока рука не устанет эту жуткую матрёшку просматривать ) С другими объектами картина аналогичная
Скомпилил в релиз 2008ой студией. Что-то не увидел никакой матрёшки. Все процедуры либо проверки на переполнение или стека (игааук security checks), либо функции malloc/free и их аналоги. Да и какая вообще разница сколько там вызовов? Уровень абстракции, само собой, налагает определённые условия. И, кстати, реализация STL мне совсем не кажется избыточной.
W4FhLF Угу вызов тяжёлой heap для каждого push/pop ) вместо того, чтобы выделить блок разумного размера и увеличивать его при необходимости тоже поблочно, а уж освобождать память через heap на каждый pop, чтобы следом выделить его обратно - вообще супер ) Да абстракция не позволит добиться полного аналога ассемблерных push/pop, но сделать код на порядок, то и более, быстрее и компактнее чем в STL элементарно )
Y_Mur Да вообще-то почти все контейнеры в STL работают с памятью поблочно, в том числе std::stack. Ты в исходники хоть смотрел?
Arthur Функциональное программирование (Haskell например). Многие из принципов сейчас встраиваются в изначально императивные и ОО языки(например C#, Python). За другими не слежу, поэтому не знаю.
W4FhLF Каждому -- своё. В том числе и языку. Целый ряд вещей либо вовсе нельзя запрограммировать на императивных языках, либо это будет малоэффективно. То же самое, кстати, относится и к императивным ЯВУ в сравнении с асмом.
О БОЙСЯ! ТРЕПЕЩИ И ВОЖДЕЛЕЙ ДЕЛФИ ПОД МАК! .D делфе действительно является таким неплохим "вроде как и не multimediabuilder, но уже и не С++", на котором можно писать "скрипты", при этом не ощущая ограниченности действий с апи, асмвставками итд. я вот кодил на делфе .. лет пять выходит, и сам защищал пацал. хотя понимал, что преимущественно из за того, что боялся пересаживаться на се и иметь сложности с тем, что бы "всё начать с начала".
W4FhLF Про актуальность. Как бы ЯВУ ни развивались, асм всегда будет актуален. То же самое относится и к обычным ЯВУ, и к обычному ООП -- никакое функциональное программирование вытеснить их не сможет.