Технический форум

Технический форум (http://www.tehnari.ru/)
-   Программы и программирование (http://www.tehnari.ru/f211/)
-   -   Современные языки программирования (http://www.tehnari.ru/f211/t2615/)

V_Bond 21.03.2007 23:33

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

ORTODOX 18.10.2007 21:33

Хорошая инфа, странно что я ее раньше не замечал :)

CynepMO3r 12.11.2007 09:34

Интересно, интересно.
Какого года эта информация ?
Просто я не увидел Object Pascal в этом списке.
Object Pascal (aka. Dalphi) уже догнал по своим возможностям C/C++?, а иногда и перегоняет их.

rvn28 28.11.2007 17:00

Цитата:

Сообщение от CynepMO3r
Object Pascal (aka. Dalphi) уже догнал по своим возможностям C/C++

Не верю!

rvn28 28.11.2007 17:04

И ваще: как можно унифицировать оценочные тесты для языков, которые имеют совершенно различные области, скажем так, основного приложения.
ИМХО. Лекарства от любви к Java не существует!

imported_Deymos36 08.02.2009 15:14

BSOD после установки Alcohol на Vista
 
Быть может я создал тему не там где надо, но сейчас меня не это волнует... Вобщем дело обстоит так: скачал я с торрент-трекера образ диска одной игры, весит он 6,5 Гб, поэтому на диск записать не получается, подсказали смонтировать образ с помощью Алкоголя... Скачал русскую версию, после установки комп выдаёт чо-то типа "неизвестное происхождение драйверов, всё равно продолжить?"(ну или как-то так), я по своей глупости нажал "да", прошло секунд 5 и тут появился Он - "Синий Экран Смерти"(BSOD)... И комп начал перезагрузку... При включении дают выбрать режим запуска (как обычно бывает после неудачного завершения работы): Безопасный режим, Безопасный режим с загрузкой сетевых драйверов, Безопасный режим с поддержкой командной строки и Обычный режим. Пробовал всё, Синяя Смерть всё равно приходит... Посовещался с братом, он говорит, что спасать ОС это гиблое дело, мол надо переустанавливать Винду (у меня Vista Home Premium), и что вероятней всего мои файлы не спасти. Хотя я продолжаю надеятся, ведь сначала всё загружается норм.(появляется раб. стол, ярлыки, запускаются проги), а сек через 15 уже появляется BSOD. Но к сожалению этого мало, чтобы перенести файлы на флешку. Ну ладно фиг с ними. Скачал с другого компа (с которого и пишу) Винду на диск, но не получается даже открыть его. Брат говорит нужно в Биосе настроить так, чтобы сперва загрузка шла с дисковода, а потом уже с жесткого. Но я в Биосе плохо шарю (как и в англ.яз.), к тому же боюсь сделать всё ещё хуже... Вобщем как сказал мой брат: "Алкоголь вредит здоровью. Жидкий алкоголь - здоровью человека, а компьютерный - здоровью компа!!!" Если это как-то поможет, то у меня ноут ASUS G1S... Помогите кто-нибудь...

rkol 08.02.2009 15:59

драйвер алкоголя версии ниже 1.9.6.4719 не совместим с вистой ,поэтому у тебя и синий экран.спасти систему можно загрузившись с диска с Live CD и удалить драйвера алкоголя vax347b.sys и vax347s.sys

imported_Deymos36 08.02.2009 17:59

Ну насчёт совместимости Висты с рядом прог мне уже рассказали. А теперь расскажи ка мне побольше про этот Live CD...

rkol 08.02.2009 18:08

http://tfile.ru/forum/viewtopic.php?p=1811367#1811367 Диск с уже готовой операционной системой,вставляешь диск и загружается готовая винда,с нее зайдеш на свой винт и удалишь драйвера.

imported_Deymos36 08.02.2009 18:49

Дык, насколько я знаю на t-file вот уже который месяц нельзя зарегиться... Как же я скачаю???


Часовой пояс GMT +4, время: 05:04.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.