Компьютерный форум

Компьютерный форум (http://pchelpforum.ru/index.php)
-   Программирование (http://pchelpforum.ru/forumdisplay.php?f=17)
-   -   Обзор и оценка языков программирования (http://pchelpforum.ru/showthread.php?t=105)

Антон 02.06.2007 09:36

Обзор и оценка языков программирования
 
СРАВНЕНИЕ МОЩНОСТИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
приведены баллы, начисленные языкам по таким характеристикам как (НАБОР ОПЕРАТОРОВ ,КОНСТРУКТОР ТИПОВ , МЕХАНИЗМ ПРОЦЕДУР , СТРОГАЯ ТИПИЗАЦИЯ ,РАЗДЕЛЬНАЯ КОМПИЛЯЦИЯ ,АБСТРАКТНЫЕ ТИПЫ И ОБЪЕКТЫ ,. ПРОЦЕССЫ И ИСКЛЮЧЕНИЯ ,ПРОЧИЕ ВОЗМОЖНОСТИ )
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. Изменены выражения для массивов
Что делает этот казалось бы давно мертвый язык -живее всех живых…… и если ваша деятельность сопряжена с математикой……….рекомендую проще этого не сделать ни где.

Ha Emmid 03.06.2007 23:23

ИМХО: полный бред. Попрограммировав на C, C++, Delphi, Visual Basic и ещё нескольких языках я понял главное - выбирай то, к чему лежат руки. И выбрал, не поверите, не прикладную среду программирования а web-язык PHP. Вот так поворачивает характер. Допустим я бы не смог программировать на C++ также весело и быстро, как сейчас это делаю на PHP. Так что забросьте оценки, попробуйте как можно больше языков и выбирайте сами.

MS 23.06.2007 09:15

Ha Emmid, ты прв лично я почти все из этого списка перепробывал, а остановился только на Delphi так вот бывает, прямо в душу запала, хотя понимаю, что C++ всетаки круче, но менять уже не хочется

Lacroixua 30.06.2007 22:57

Мне нравиться Делфи!!
Четко, нормально и более менее все ясно!
Правда пробывал языков я мало!

Serhii Parvuliusov 20.10.2007 14:24

А ты С++ попробуй, тебе наверняка понравитса

1223 09.11.2007 07:16

Delphi рулит. Пробовал С++,VB,Delphi,Pascal,Java. Лучше всего оказался Delphi.Basic то же ничего ,но...

jonatan 09.11.2007 18:32

Delphi со своим паскалем конечно хорошая среда, но достаточно ограничена в сферах применения в отличие от C++ и Java - на них можно сваять все что душеньки угодно.

root 09.12.2007 17:52

А почемуж все забыло об ассемблере, это на самом деле один из самых мощнейших языков.

wgol_dev 09.12.2007 18:20

асемблер щас редко используеться для разработки прикладных програм, ето машынный язык его можно использовать для написания ОС но не для написания например калькуляторов...

root 09.12.2007 20:41

Да на нем можно хоть калькулятор разработать, и даже к ниму графический интерфейс (хотя это будет сложновато)

jonatan 09.12.2007 21:12

Вообще сегодня, насколько я знаю, для разработки серьезного софта и игр ассемблер применяют редко. Хотя некоторые его хвалят - программы написанные на нем очень легковесны.

GRR 27.01.2008 21:49

По мне, так сравнение языков программирования- это бред... Как можно сравнивать языки, разработаные решать совершенно разные задачи. Я например очень люблю С++, но не собираюсь с его помощью писать Web-приложение. Потому что это трудно, долго и дорого; хотя и на это он способен. Delphi мне то же нравиться, но в качестве языка для создания бизнес-приложений (клиентов в клиент-серверных приложения), что вообще главная черта все RAD сред фирмы Insprice (тм Borland). А в качестве языка для написания прослойки ПО по работе непосредственно с аппаратной частью, лучше чем язык прогаррмирования Assembler (кстати правильно писать именно язык Assembler, потому что просто Assembler это программа) не найти.
Так что всё хорошо на своем месте, и язык стоит выбирать из сходя из рещаемой задачи.

jonatan 28.01.2008 10:06

Ну да, согласен. Но есть более менее универсальные языки - Си, Паскаль, Ява, тот же Ассемблер. А есть - специализированные. Так вот те что более менее сравнивать друг с другом можно. Можно сравнить например такие характеристики, как объемистость кода, сложность освоения, читабельность и простота кода....

UnrealDuke 20.05.2008 21:32

Согласен сравнивать язики програмирования нальзя. Конечно в основном выбырают тот, который необходим в данный момент и к данной цели. Но каждый для себя уже выбирает по своей личной привязанности и отношению. Я вот больше по душе VB, хотя остальными тоже пользуюсь и не могу сказать ничего плохого о них. Каждый выбирает для себя сам.

bober 05.01.2009 20:43

Мне нравитсса Delphi так как этот язык очень похож на язык Pascal, который достаточно прост. Пробовал и C++, но у меня с этим языком не совсем хорошо складывалось. Я не являюсь професионалом и потому остановил свой выбор на delphi, который почти полностью удовлетворяет мои требования!


Текущее время: 00:24. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2007-2016, PCHelpForum.ru.