Профиль
Пользователи
Группы
Поиск
Вход
Учебный форум для написания тестовых писем (песочница)
|
|
ReGeDa
C# vs. Pascal
|
Ср 14 Дек 2005 14:21
regeda
|
|
|
На днях прочитал о синтаксисе нового языка С# . Понятно, что ребята из Майкрософт постарались. Особенно, понравиться C# любителям Object Pascal (Delphi), ибо очень прослеживается простота и читабильность нового языка. По-моему мнению, C# даже более человечным языком пишется, чем язык Pascal. В общем, C# самый что ни на есть ООПешный, при этом понять синтаксис не составит труда никому, уж очень он прост, по-моему мнению. И, кстати, наверное, данный язык можно отнести не только к разделу теории, но и практики. Правда, с С++ ему не сравниться (я уже перешел на С++, имхо С++ куда эмпирический язык, чем Pascal). Так что вечная память дедушке Pascal'ю , светлый путь C# и человеческое уважение С++ !!!
_________________ Если я захочу изменить мир к лучшему, то обязательно начну с себя
|
|
|
freeman
Re: C# vs. Pascal
|
Ср 14 Дек 2005 14:32
freeman
|
|
|
regeda писал(а): | По-моему мнению, C# даже более человечным языком пишется, чем язык Pascal. |
К сожалению, человечность не гарантирует качество(не к C#).
Цитата: | уж очень он прост |
Может только с первого взгляда?
Цитата: | И, кстати, наверное, данный язык можно отнести не только к разделу теории, но и практики |
Вообщем он был создан специально под технологию .NET. Говорить о какой - то теории нет смысла(ИМХО).
Цитата: | Правда, с С++ ему не сравниться |
Ест-но, два совершенно разных подхода.
Цитата: | имхо С++ куда эмпирический язык, чем Pascal |
и т.д. и т.п.
Цитата: | Так что вечная память дедушке Pascal'ю |
Точнее дедушке Вирту, при всем моем уважении к нему.
Цитата: | светлый путь C# и человеческое уважение С++ |
Forever!!!
_________________ 0x2B | ~0x2B = 0xFF
|
|
|
Alexander Shagin
Re: C# vs. Pascal
|
Чт 15 Дек 2005 01:09
shagin
|
|
|
regeda писал(а): | На днях прочитал о синтаксисе нового языка С# . Понятно, что ребята из Майкрософт постарались. |
Пришлось им постараться DotNet - ответная реакция на скандал с Sun Microsystems. По сути, новый продукт - аналог Java. А без подобных технологий, такому гиганту как MicroSoft придется потерять гигантский сектор рынка.
regeda писал(а): | По-моему мнению, C# даже более человечным языком пишется, чем язык Pascal. В общем, C# самый что ни на есть ООПешный, при этом понять синтаксис не составит труда никому, уж очень он прост, по-моему мнению. |
Если подходить к этому вопросу с профессиональной точки зрения, то для некоторых и ASM-код будет не менее "человечным языком" чем этот текст. А бывают случаи, что объяснить назначение BEGIN END предстовляется практически неразрешимой задачей. Многое определяется кругом решаемых задач и первоначальным опытом в программировании. Соответственно и выбираются инструменты.
regeda писал(а): | Правда, с С++ ему не сравниться (я уже перешел на С++, имхо С++ куда эмпирический язык, чем Pascal). |
К вопросу сравнения различных языков, по моему, часто подходят не совсем корректно. Что лучше, а что хуже для решения каких именно задач? Если вы владеете Turbo Pascal(или Basic) и Вам его возможностей с лихвой хватает - с какой стати в должны выслушивать "чудесные истории" о волшебстве какого-нибудь нового ультрамодного языка. Другое дело, если возможностей перестает хватать, то выбор нового инструмента вполне оправдан. Если вспомнить историю появления языков программирования, то все они в первую очередь создавались для решения конкретных задач. Так что сравнивать C# корректней всего все-таки с Java. А Delphi vs C++ в 90% процентах случаев равноценны - дело вкуса и привычки.
regeda писал(а): | Так что вечная память дедушке Pascal'ю , светлый путь C# и человеческое уважение С++ !!! |
Боюсь, что век Pascal и Basic может продлится не меньше чем у C#. Во всяком случае пока будет жива платформа, на которой работают компиляторы.
Последний раз редактировалось: shagin (Чт 15 Дек 2005 19:17), всего редактировалось 2 раз(а) |
|
|
Alexey N. Sergeev
|
Чт 15 Дек 2005 18:29
alexey
|
|
|
Расскажите, плз., что такое .NET? В двух словах?
|
|
|
Alexander Shagin
.Net
|
Чт 15 Дек 2005 19:12
shagin
|
|
|
В двух словах .Net это платформа от Microsoft для исполнения программ. С Java роднит ее тот факт, что исполяемый код хранится в промежуточном формате (IL-код), который выполняется сервером .Net (В принципе тоже, что и Java-машина от Sun). Отличие от Java, это то, что языков под эту платформу может быть много (C#.Net, Delphi.Net и др.).
|
|
|
Павел Жданович
Re: C# vs. Pascal
|
Вт 20 Дек 2005 00:45
zhd
|
|
|
regeda писал(а): | Так что вечная память дедушке Pascal'ю , светлый путь C# и человеческое уважение С++ !!! |
Спор о языках порождает религиозные войны...
Так что, я полностью согласен. C# -- замечательный язык.
Не так уж важно, IMHO, на чем делать код. Важно, какие технологии поддерживает среда разработки.
А Паскаль - он дедушка хитрый...
|
|
|
freeman
Re: .Net
|
Вт 20 Дек 2005 14:06
freeman
|
|
|
shagin писал(а): | В двух словах .Net это платформа от Microsoft для исполнения программ. |
Это целая архитектура, и не совсем для исполнения, а скорее всего развертывания проектов.
Цитата: |
С Java роднит ее тот факт, что исполяемый код хранится в промежуточном формате (IL-код), который выполняется сервером .Net (В принципе тоже, что и Java-машина от Sun). |
Во первых IL (intermediate language) это не формат а целый язык, созданный специально для этой системы.
во -вторых программа написанная для .Net не является интерпретируемой пусть и во внутреннем формате(java -машина). она преобразуется, при первом исполнении, JIT- компилятором установленным в windows в команды процессора. (кстати для дот нет можно писать и на java)
Цитата: | Отличие от Java, это то, что языков под эту платформу может быть много |
Как я уже говорил язык для этой платформы один MSIL. А вот преобразование в него может осуществлять компилятор поддерживающий эту технологию(С#, Delphi .Net и т.д. и т.п.)
Цитата: | А Delphi vs C++ в 90% процентах случаев равноценны - дело вкуса и привычки. |
в 0.0000090 %случаев т.к. они совершенно разные языки(Delphi -вообще-то это среда)
Цитата: | Так что сравнивать C# корректней всего все-таки с Java |
В чем - в синтаксисе? да похожи но по-причине наследия(!!!!) от C++;
Цитата: | Пришлось им постараться DotNet - ответная реакция на скандал с Sun Microsystems. По сути, новый продукт - аналог Java. | Кто кому аналог - .Net Jave?????????
Цитата: | Расскажите, плз., что такое .NET? В двух словах? |
В двух очень трудно, потому как .Net очень сложная архитектура. Она включает жеско стандартизированные спецификации, типы данных, правила работы, передачи и т.д..
Хотя .Net и применяется сейчас в основном на win системах, но ничего общего с ними она не имеет.
_________________ 0x2B | ~0x2B = 0xFF
Последний раз редактировалось: freeman (Вт 20 Дек 2005 14:48), всего редактировалось 2 раз(а) |
|
|
ReGeDa
Теоретики vs. Практики
|
Вт 20 Дек 2005 14:29
regeda
|
|
|
Сам Вирт писал в своих статьях. что созданный им язык Pascal в первую очередь направлен на изучение теории программирования. По этому можно разделить существующие языки на практические и теоретические. А подтвердить это тем, что большинство программ, написаных по Windows, являются семейством C++ (Microsoft или Borland).
Конечно же, никто не запрещает преподавать Object Pascal и изучать его. Но все равно кто-то вырастает и отказывается от Pascal, а кто-то остается и довольствуется тем, что сочинил Borland, сделав из Turbo Pascal некий С++подобный язык. Я не хочу никого (программистов на Delphi) обидеть, я сам изучал и понимал программирование на Object Pascal.
C# - это что-то новое. Чистый объектно-ориентированный язык и это уже не шутки. Конечно, интересно посмотреть что из него выйдет, но мне кажется, что C# хороший конкурент Object Pascal.
И вообще никто не запрещает, например, программировать игры на Delphi || C++ || C# || Visual Basic, но кто-то сделает игру более мощной и гибкой, а кому-то придеться кочегарить и кочегарить!!!
_________________ Если я захочу изменить мир к лучшему, то обязательно начну с себя
|
|
|
Alexander Shagin
Re: .Net
|
Вт 20 Дек 2005 20:12
shagin
|
|
|
Возможно мой ответ "в двух словах" был слишком краток и содержал массу упрощений, что впрочем, на мой взгляд, не было в ущерб общему смыслу. Постараюсь аргументированно это обосновать. freeman писал(а): |
Это целая архитектура, и не совсем для исполнения, а скорее всего развертывания проектов.
|
Платформа, действительно, здесь не очень удачноее слово, слишком узкое понятие. Точнее это, видимо
"Программное обеспечение для объединения информации, пользователей, систем и устройств"( Б. Гейтс http://soft.compulenta.ru/32694/)
Что кстати понимается под развертыванием проектов???
freeman писал(а): |
Во первых IL (intermediate language) это не формат а целый язык, созданный специально для этой системы.
во -вторых программа написанная для .Net не является интерпретируемой пусть и во внутреннем формате(java -машина). она преобразуется, при первом исполнении, JIT- компилятором установленным в windows в команды процессора. (кстати для дот нет можно писать и на java)
|
Платформа .NET основана на использовании общей среды выполнения кода CLR (Common Language Runtime), подобной виртуальной Java-машине, и набора библиотек, доступных для ряда языков программирования. Независимо от того, какой язык используется в процессе разработки, программа компилируется в промежуточный код IL (Intermediate Language). IL - это именно формат, понятный для CLR в .Net для исполнения(аналогично байт-куду Java, концептуальное свойство). ([url] http://www.csm.ru/article/csharp/news16.php [/url])
freeman писал(а): | Как я уже говорил язык для этой платформы один MSIL. А вот преобразование в него может осуществлять компилятор поддерживающий эту технологию(С#, Delphi .Net и т.д. и т.п.)
|
Все верно, если не различать термины, но зачем тогда цитировать фразу об отличии от Java? Если же быть точным в терминах, то
"исходный текст программы компилируется в промежуточный код, не зависящий от языка и платформы; этот код в дальнейшем выполняется в специальной управляемой среде".
freeman писал(а): |
в 0.0000090 %случаев т.к. они совершенно разные языки(Delphi -вообще-то это среда)
|
Я, возможно, ошибся в цифре 90%. Но если расставить точки над i, то следует все-таки определится что мы ей считаем. Я расцениваю ее как процент области применимости языков для решения конкретных прикладных задач. Языки то разные(Кстати, начиная ,кажется, c Delphi 6 Object Pascal официально именуется Delphi), но сейчас и на том и на другом с успехом решается огромное кол-во самых разных задач. Я говорю о потенциале языка, не о его распостранении в мировом сообществе программистов.
freeman писал(а): |
"Так что сравнивать C# корректней всего все-таки с Java"
В чем - в синтаксисе? да похожи но по-причине наследия(!!!!) от C++;
|
во многом C# и Java схожи, но было бы неверно отождествлять эти языки ... здесь подробнее по пунктам http://www.csm.ru/article/csharp/news16.php
Для заметки: Родителями C# стали Scott Wiltamuth и Anders Hejlsberg, получивший известность, как автор Delphi(!!!), что во многом определяет "человечность" C#
freeman писал(а): | Кто кому аналог - .Net Jave?????????
|
Да, именно так. После того как Microsoft стала разрабаывать свою спецификацию Java, Sun предъвила судебные претензии (подробнее прочтите на [url] http://zdnet.ru/?ID=310715 [/url] ). В результате мы уже не наблюдаем Java в поставке XP(в отличие от ранних версий).
А наблюдаем развитие .Net
freeman писал(а): |
Хотя .Net и применяется сейчас в основном на win системах, но ничего общего с ними она не имеет. |
.Net это детище Microsoft:)...ваше отношниее к кроссплатформенности со стороны Microsoft,думаю, не вызывает сомнения. DotNet - это будущее Microsoft, его "коммунистическое будущее".(кстати сама идея великолепная). Тем не менее ее основная идея кроссплатформенности уже дала свои плоды: компания Novell объявила о выпуске первой версии открытой среды разработки Mono, позволяющей создавать приложения на платформе Microsoft .Net для Linux и других операционных систем.
Для тех кому интересно, материал взят с:
http://winall.ru/net_dot/,
http://soft.compulenta.ru/14462/,
http://soft.compulenta.ru/37511/,
http://soft.compulenta.ru/38804/,
http://soft.compulenta.ru/31653/
|
|
|
Павел Жданович
Re: Теоретики vs. Практики
|
Вт 20 Дек 2005 21:45
zhd
|
|
|
regeda писал(а): | Сам Вирт писал в своих статьях. что созданный им язык Pascal в первую очередь направлен на изучение теории программирования. |
Вирт это писал очень давно. С тех пор многое изменилось.
Цитата: | По этому можно разделить существующие языки на практические и теоретические. А подтвердить это тем, что большинство программ, написаных по Windows, являются семейством C++ (Microsoft или Borland). |
На C++ существует международный стандарт, и это весьма мощный и распространенный язык. Но называть Паскаль "теоретическим" некорректно.
Не взялась бы такая фирма, как Borland, делать деньги на среде разработки, представляющей только академическую ценность.
А их версии Delphi Enterprise весьма прилично стоят. Поскольку на Delphi делаются проекты корпоративного уровня, а денег на такие вещи обычно не жалеют. Важный момент состоит в том, что IBM собиралась распространять свою СУБД DB2 с триалом Delphi.
http://www-128.ibm.com/developerworks/db2/zones/borland/bigpicture.html
Достаточно вспомнить, что DB2 и Oracle - основные игроки на мировом рынке реляционных СУБД.
Я сейчас не говорю о достоинствах Паскаля. Мне, по большому счету, не так важно сейчас, какой у языка синтаксис. Я про технологии, которые поддерживает система разработки приложений.
А "теоретические" языки есть, их создавали Д.Кнут, К.Дейт и т.д. Один - для демонстрации техники алгоритмизации, другой - для демонстрации работы в реляционной модели данных.
Цитата: | Но все равно кто-то вырастает и отказывается от Pascal, а кто-то остается и довольствуется тем, что сочинил Borland, сделав из Turbo Pascal некий С++подобный язык. |
То, что Вы называете C++ подобием, есть на самом деле закономерное развитие языка под влиянием общих идей, которые реализуются сегодня во всех языках.
Цитата: | И вообще никто не запрещает, например, программировать игры на Delphi || C++ || C# || Visual Basic, но кто-то сделает игру более мощной и гибкой, а кому-то придеться кочегарить и кочегарить!!! |
Я не пишу игры, драйверы и вирусы, и для задач, в которых я участвую, Delphi подходит. А это: разработка многозвенных приложений и работа с базами данных. И это не теоретические задачи, так как они работают в реальной корпоративной инфраструктуре, под ощутимой нагрузкой.
И, как говорится, "It works!"
|
|
|
freeman
|
Ср 21 Дек 2005 09:52
freeman
|
|
|
Цитата: | Что кстати понимается под развертыванием проектов??? |
Одно из главных достоинств данной среды. Самостоятельное управление установкой/удалением проектов/программ(крайне упрощенно)
Цитата: | IL - это именно формат, понятный для CLR в .Net для исполнения(аналогично байт-куду Java, концептуальное свойство). |
Если мне не верят на слово, буду цитировать microsoft.com
http://msdn.microsoft.com/library/rus/default.asp?url=/library/RUS/cpguide/html/cpconinsidenetframework.asp
Цитата: | При компиляции в управляемый код компилятор транслирует исходный код в промежуточный язык Microsoft (MSIL), предоставляющий независимый от процессора набор инструкций, который можно эффективно преобразовать в машинный код. |
Цитата: | Код MSIL и метаданные содержатся в файле переносимого исполняемого формата (PE), |
Полноценный exe-шник!!!
Цитата: | Перед выполнением кода на промежуточном языке MSIL необходимо его преобразовать с помощью компилятора по требованию (JIT) .NET Framework в |
Чем дальше тем больше дух захватывает.
Цитата: | В процессе компиляции MSIL в машинный код должна выполняться проверка(!!!!), если администратор не установил политику безопасности, разрешающую обойти проверку |
^^^Фантастика, можно понимать если я юзер - то получу один код, а если админ то совершенно другой!
Цитата: | При следующем вызове метода(программы) будет выполняться существующий откомпилированный код |
И где же тут аналогия jave???
Вот перечень языков поддерживающих .Net:
APL, Fortran, Pascal,
C++, Haskell, Perl,
C#, Java Language, Python,
COBOL, Microsoft JScript®, RPG
Component Pascal, Mercury, Scheme,
Curriculum, Mondrian, SmallTalk,
Eiffel, Oberon, Standard, ML
Forth, Oz, Microsoft Visual Basic®
Цитата: | расцениваю ее как процент области применимости языков для решения конкретных прикладных задач |
Каких задач? MSVC++ и Delphi не единственные среды программирования, существуют много других специализированных на конкретных проблемах. А если брать только доли С++ и среды Delphi я думаю 1000/1.
Цитата: | "человечность" C# |
Что понимать под этим словом? для меня например синтаксис pascalя, как кошмарный сон.
Цитата: | В результате мы уже не наблюдаем Java в поставке XP(в отличие от ранних версий).
А наблюдаем развитие .Net |
Странно, вы будете и дальше утверждать тождественность Java и .Net?
Цитата: | Microsoft .Net для Linux и других операционных систем. |
Хочется сказать .Net forever - Microsoft must die
Цитата: | Вирт это писал очень давно. С тех пор многое изменилось. |
Но не взгляды на идею "теоритического" языка.IMXO
Цитата: | На C++ существует международный стандарт, и это весьма мощный и распространенный язык |
Если быть точным то 2 стандарта: ANSI и ISO. Причем разные производители компиляторов по разному выбирают поддерживаемый стандарт. Например Microsoft -большей частью ANSI, Borland -ISO
_________________ 0x2B | ~0x2B = 0xFF
Последний раз редактировалось: freeman (Ср 21 Дек 2005 14:55), всего редактировалось 1 раз |
|
|
Павел Жданович
|
Ср 21 Дек 2005 13:15
zhd
|
|
|
freeman писал(а): | Shagin писал(а): | Что кстати понимается под развертыванием проектов??? |
Одно из главных достоинств данной среды. Самостоятельно управляющая установкой/удалением проектов/программ(крайне упрощенно) |
Нельзя ли чуть подробнее, начиная с термина "проект"?
Поскольку подобные рекламные клише появились довольно давно, однако самостоятельность каждый раз выглядела по-разному.
freeman писал(а): | Жданович писал(а): | Вирт это писал очень давно. С тех пор многое изменилось. |
Но не взгляды на идею "теоритического" языка.IMXO |
Взгляды на идею - да, остались, в основном.
Просто с тех далеких пор Паскаль перестал быть "теоретическим" языком.
|
|
|
|
|
Alexander Shagin
|
Ср 21 Дек 2005 14:25
shagin
|
|
|
freeman писал(а): | .Net и прочее |
Обсуждение темы становится о кислом и белом...либо о "кислом" и "кислом". Цитирование одних и тех же понятий, но в разных терминах и с разным пониманием сущностей в принципе бесперспективно и читателям форума вряд-ли интересно. Наши с Вами подходы в сравнительном анализе в корне различны (сравнение в основном технического аспекта с Вашей стороны и концепции в целом с моей совсем не корректно, понятно, что это в принципе разные вещи), что приводит только лишь к запутыванию читателей, поскольку, приводимые факты верные сами по себе, в контексте обсуждаемой темы приводят к искажению истинного положения вещей практически по всем пунктам.
Так же просьба быть более последовательным в Вашей характеристики Microsoft и .Net
freeman писал(а): | Хочется сказать .Net forever - Microsoft must die Smile Smile |
Отрицать или не знать что .Net это и есть Microsoft , т.е. ее прародитель, основной идеолог будущего развития, и уже неотъемлемая часть как минимум нетактично. Зная Microsoft, даже подумать, что она пустит этот проект в "свободное плавание" не представляется возможным. Кроссплатформенность - ДА, но вот полный контроль за развитием - .NET!!! Плохо это или хорошо - покажет время.
|
|
|
ASP
|
Пн 20 Фев 2006 15:07
asp
|
|
|
[quote="freeman"] Цитата: | При следующем вызове метода(программы) будет выполняться существующий откомпилированный код
И где же тут аналогия jave??? |
А как же HotSpot?
|
|
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|
|
|