02.06.2007, 09:36 | #1 (ссылка) |
Администратор
Новичок
|
Обзор и оценка языков программирования
СРАВНЕНИЕ МОЩНОСТИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
приведены баллы, начисленные языкам по таким характеристикам как (НАБОР ОПЕРАТОРОВ ,КОНСТРУКТОР ТИПОВ , МЕХАНИЗМ ПРОЦЕДУР , СТРОГАЯ ТИПИЗАЦИЯ ,РАЗДЕЛЬНАЯ КОМПИЛЯЦИЯ ,АБСТРАКТНЫЕ ТИПЫ И ОБЪЕКТЫ ,. ПРОЦЕССЫ И ИСКЛЮЧЕНИЯ ,ПРОЧИЕ ВОЗМОЖНОСТИ ) C - 47 баллов С++ -70 баллов JAVA -62 балла PASCAL-61 балл MODULA-58 баллов OBERON-59 баллов ADA -84 балла Первый сюрприз рейтинга – уверенное последнее место С. Главный инструмент профессионального программиста, вопреки распространенному заблуждению, достаточно “слабый” язык. Впрочем, последнее место С говорит и о том, что для создания программ любой степени сложности необязательно привлекать мощные языки программирования. С этой точки зрения борьба Вирта и его последователей за простоту языков программирования приобретает дополнительный аргумент “за”. Неудивительно, что все три его языка (PASCAL, MODULA и OBERON) показали примерно одинаковый средний результат. Это - свидетельство хорошей сбалансированности набора конструкций этих языков программирования. В верхней части рейтинга оказались два языка-“тяжеловеса” – ADA и С++. При создании обеих языков программирования была предпринята попытка включить в них все наиболее значимые теоретические наработки. “Старичок” ADA победил, возможно, потому, что создавался “с чистого листа”, в то время как создателей С++ сдерживала необходимость сохранить совместимость с С. Самый “молодой” из рассматриваемых языков – Java, получил пристойную среднюю оценку, примерно такую - же, как и у языков Вирта. Однако, учитывая ярко выраженную “объектную ориентированность” Java, следует признать, что как инструмент системного программиста этот язык недостаточно мощен. ( таблица взята из статьи strannik@mail.perm.ru ) СОВРЕМЕННЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ C Это многоцелевой ,лаконичный относительно низкого уровня, отвечает большинству задач системного программирования, С спроэктирован так что имеется очень близкое соответствие между его типами ,операциями и обьектами с которыми имеет дело машина : числами ,символами адресами. Одним из первоначальных предназначений С было применение вместо ассемблера в самых насущных задачах системного программирования. С++. Ключевым понятием С++ является класс, Класс – тип , определяемый пользователем. Классы обеспечивают скрытие данных, неявное преобразование типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизм перегрузки операций . При создании языка делались так же попытки модернизировать С, введя в его состав такие современные конструкции, как скалярный тип (enum), передача параметра по ссылке (&) или логический тип (bool). С++ является наиболее раздутым и не систематизированным языком….. который использует как принципы ООП так и адресную арифметику…. Java. “Молодой” язык программирования и основной инструмент программирования для Internet. Создатели Java безжалостно удалили из С все несовременные конструкции, и в то же время сумели удержаться от излишнего “раздувания” языка включением в него новых теоретических разработок. В результате получился не очень объемный, но стройный, “крепко сбитый” язык программирования с ярко выраженной идеологией. К сожалению, ориентация на Internet не дает возможности использовать Java как язык системного программирования, однако это хороший пример реформы С. Клоном С он является только внешне. Идеологически это хороший пример европейской языковой школы (к которой можно отнести клоны PASCAL и ADA). PASCAL Один из самых распространенных языков программирования поддерживающий структурное и модульное программирование. Он берет свои корни из АЛГОЛА-60,и был создан Швейцарцем Н.Виртом. Особо следует отметить надежность программ на Паскале достигаемой за счет описания переменных и соответствующих типов. Читабельность языка помогает нахождению ошибок в коде…… MODULA-2. Наиболее известный клон PASCAL и любимый язык автора этой статьи. Классический набор операторов и конструктор типов. Хорошо разработанные механизмы раздельной компиляции (конкуренцию MODULA в этом классе может составить только ADA). Маленький и удобный язык с точки зрения разработчика компилятора (как и все языки Вирта, видимо, сказывается то обстоятельство, что Вирт сам пишет компиляторы для своих языков). Недостатком языка можно считать полное отсутствие механизмов ООП. OBERON-2. Последний из языков Вирта и клонов PASCAL. OBERON позиционировался как MODULA + ООП, однако при создании языка Вирт выбросил из MODULA много приятных возможностей (часть из которых была добавлена при создании OBERON-2, считающегося современным вариантом языка). ADA-95. Самый мощный из используемых сегодня языков программирования, ADA вызывает противоречивые чувства. С что создание компиляторов для него стало крайне трудоемким и дорогостоящим делом. Неудачей можно считать и попытку реализации ООП в ADA. Писать ООП - программы на ADA-95 конечно, можно, но крайне неудобно. В каком-то смысле этот вывод можно перенести и на весь язык в целом. Единственным несомненным плюсом ADA можно считать наиболее полную и подробную стандартизацию, вследствие чего переносимость программ на ADA наиболее лучшая по сравнению с другими языками программирования. FORTRAN Fortran этот традиционно сильный с математической точки зрения язык по- моему незаслуженно забыт….. С появлением Fortran 90 он приобрел ряд возможностей которых ему не хватало это изменения в 1.структуры (производные типы) 2. Указатели позволяют программе вызвать более одной области памяти с одним именем По сравнению с указателями языка С указатели в Fortran 90 более ограничены, и поэтому легче для отладки и оптимизации 3. Вид семейства Тип семейства дает возможность пользователю запросить, какой встроеннный тип использован базовым для точности и диапазона значений. Это средства среду вычислений. Программисты, которые адресуют свои программы разным машинам, должны иметь дело с различным числом точных цифр. Используя семейство (kind), программист может специфицировать требуемую числовую точность. 4. Объявления (декларации, спецификации) Объекты данных могут иметь комбинацию 12 различных атрибутов, таких как POINTER, SAVE, и т.д. Fortran 90 вводит "объектно-ориентированные " объявления, в которых объекты с одинаковыми комбинациями атрибутов могли быть декларированы со всеми их атрибутами в одном операторе. 5. Конструкторы Массив и объекты производных типов данных могут быть инициализированы в операторе объявления. Конструктор может быть использован как константа там, где ожидается массив или производный тип. 6.Добавлены новые конструкции позаимствованные у Pascal 7. Изменены выражения для массивов Что делает этот казалось бы давно мертвый язык -живее всех живых…… и если ваша деятельность сопряжена с математикой……….рекомендую проще этого не сделать ни где. |
03.06.2007, 23:23 | #2 (ссылка) |
Новичок
Регистрация: 03.06.2007
Сообщений: 171
Репутация: 0
|
ИМХО: полный бред. Попрограммировав на C, C++, Delphi, Visual Basic и ещё нескольких языках я понял главное - выбирай то, к чему лежат руки. И выбрал, не поверите, не прикладную среду программирования а web-язык PHP. Вот так поворачивает характер. Допустим я бы не смог программировать на C++ также весело и быстро, как сейчас это делаю на PHP. Так что забросьте оценки, попробуйте как можно больше языков и выбирайте сами.
|
27.01.2008, 21:49 | #12 (ссылка) |
Гость
Сообщений: n/a
|
По мне, так сравнение языков программирования- это бред... Как можно сравнивать языки, разработаные решать совершенно разные задачи. Я например очень люблю С++, но не собираюсь с его помощью писать Web-приложение. Потому что это трудно, долго и дорого; хотя и на это он способен. Delphi мне то же нравиться, но в качестве языка для создания бизнес-приложений (клиентов в клиент-серверных приложения), что вообще главная черта все RAD сред фирмы Insprice (тм Borland). А в качестве языка для написания прослойки ПО по работе непосредственно с аппаратной частью, лучше чем язык прогаррмирования Assembler (кстати правильно писать именно язык Assembler, потому что просто Assembler это программа) не найти.
Так что всё хорошо на своем месте, и язык стоит выбирать из сходя из рещаемой задачи. |
28.01.2008, 10:06 | #13 (ссылка) |
Новичок
Регистрация: 21.10.2007
Сообщений: 473
Репутация: 0
|
Ну да, согласен. Но есть более менее универсальные языки - Си, Паскаль, Ява, тот же Ассемблер. А есть - специализированные. Так вот те что более менее сравнивать друг с другом можно. Можно сравнить например такие характеристики, как объемистость кода, сложность освоения, читабельность и простота кода....
|
20.05.2008, 21:32 | #14 (ссылка) |
Новичок
Регистрация: 20.05.2008
Сообщений: 8
Репутация: 0
|
Согласен сравнивать язики програмирования нальзя. Конечно в основном выбырают тот, который необходим в данный момент и к данной цели. Но каждый для себя уже выбирает по своей личной привязанности и отношению. Я вот больше по душе VB, хотя остальными тоже пользуюсь и не могу сказать ничего плохого о них. Каждый выбирает для себя сам.
|
05.01.2009, 20:43 | #15 (ссылка) |
Новичок
Регистрация: 05.01.2009
Сообщений: 95
Репутация: 0
|
Мне нравитсса Delphi так как этот язык очень похож на язык Pascal, который достаточно прост. Пробовал и C++, но у меня с этим языком не совсем хорошо складывалось. Я не являюсь професионалом и потому остановил свой выбор на delphi, который почти полностью удовлетворяет мои требования!
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Курсы программирования | SlimLine | Программирование | 3 | 05.12.2010 21:47 |
Смена языков в Windows. | by. | Windows XP | 3 | 24.11.2010 23:13 |
Не работает оценка производительности системы. | gsnzone | Выбор комплектующих | 0 | 05.11.2010 16:46 |
Сайт (оценка) | CozaNostra | Веб-строительство | 7 | 05.08.2010 17:53 |
Оценка с/б | gin | Железо | 9 | 11.06.2010 23:36 |
Помогите выбрать язык программирования | Dador | Программирование | 7 | 03.06.2010 00:08 |
Нажимаю обзор - браузер закрывается | azalias | Windows XP | 73 | 28.02.2010 00:24 |
Проблема с переключением языков | Зуб | Windows XP | 2 | 27.02.2010 02:46 |
Оценка производительности системы | Eugene | Windows 7 | 3 | 21.09.2009 01:43 |
Разбор, вопросы и оценка двух конфигураций | amerkiol | Железо | 6 | 12.02.2009 17:29 |