ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #161  
Старый 04.03.2009, 14:39
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от Ia_zhuk  
Ребята, напишите маленькое faq по языкам, т.е. какой язык и для чего. Если где такое есть дайте пожалуйста ссыль... Заранее благодарен.
Если рассматривать языки из данного раздела, то здесь представлены универсальные языки.
Универсальность выражается в том, что
все они могут применяться для написания любых программ из любой предметной области.

По типу выполнения данные языки делятся на
1)Полностью компилируемые (C, С++, ASM, Delphi Pascal) - означает то что программа преобразуется в машинный код, который поннимает непосредственно процессор компьютера.

2)Работающие на виртуальной машине (Java, C#, Python) - для выполенения программ на таких языках необходимо что бы на компьютере было установлено специальное ПО, называемое виртуальной машиной (JVM, MSIL).

3)Интерпретируемые (Python) - то есть те, которые могут выполняться покомандно, специальной программой - интерпретатором.
Например, язык командной строки MSDOS - типичный интерпретируемый язык, выполняемый интерпретатором Command.com.

Соответсвенно, быстродействие программ разное - на компилируемых самое высокое, на интерпретируемых - самое низкое.

Традиционно, языки также делятся на мультиплатформенные(С, C++, Java, Python) и моноплатформенные(C#, Delphi).
Хотя такое деление относится не к языкам, а к традиционной среде проектирования для языков. Например, на C# пишут обычно в MS VisualStudio, а ее копилятор генерирует код только для windows. Поэтому C# считается моноплатформенным языком.

Также языки можно поделить по
1)Уровню - низкого уровня (ASM), высокого уровня (С, C++, Delphi, Java, C#, Python).
2)Поддержке парадигм программирования - поддержка структурного программирования (все, ASM- частично), поддержка ООП (все, кроме ASM и C). Есть также языки , поддерживающие функциональное и логическое программирование (в данном разделе не представлены - Lisp, Prolog).


Далее расмотрим каждый язык в отдельности (по мере увеличения уровня):

1) ASM - ассемблер. Язык низкого уровня - фактически каждая операция представляет собой команду процессора. Применяется очень редко, в основном - для написания драйверов и других системных утилит, где требуется либо очень высокое быстродействие, либо работа с железом на низком уровне. В прикладном программировании - практически не используется из-за неудобства для прикладных задач.

2) С - язык структурного программирования. В настоящее время применяется для написания ОС, системных утилит, и небольшого числа прикладных программ. Простой синтаксис, высокое быстродействие, эффективность. Из недостатков - недостаточный контроль типов данных, неявные преобразования, неподдержка соверменных парадигм (ООП).

3) С++ - расширение языка C для использования в ООП. Несмотря на близкий к C синтаксис, очень сильно от него отличается стилем программирования. Совмещает в себе эффективность низкоуровнего С и мощь ООП. Широко применяется в прикладном программировании. Однако, в настоящее время уступает языкам более высокого уровня (C#, Java). Из недостатков (по сравнению с C#, Java) - недостаточный контроль типов, отсутствие сборки мусора, и др.

4) Delphi Pascal - язык высокого уровня, поддерживает структурное и ООП. Популярен для написания прикладного ПО, особенно ПО связанное с разработкой БД. Используется также для обучения. В настоящее время сильно сдает позиции C# и Java. Из недостатков - громоздкий синтаксис, нет сборки мусора, моноплатформенность.

5) C#, Java - схожие по структуре и синтаксису языки выского уровня. Полная поддержка ООП. Работают на виртуальной платформе и используют боблиотеку с большим функционалом (т.н. фреймворк) что существенно повышает скорость разработки ПО. В настоящее время широко применяются в прикладном ПО. Из недостатков (по сравнению с C++, Delphi) - требуют наличия фреймворка на машине пользователя, более низкое быстродействие, моноплатформенность (для C#).

6) Python - ООП язык высокого уровня. Пока относительно мало распространен. Из недостатков - низкое быстродействие, динамическая типизация (хотя для некоторых - это преимущество). Как на мой взгляд - скорее скриптовый язык, мало пригодный для написания прикладного ПО десктоп или корпоративного уровня.

Последний раз редактировалось Algol; 04.03.2009 в 18:21..
 
Ответить с цитированием

  #162  
Старый 04.03.2009, 15:01
Аватар для оlbaneс
оlbaneс
Moderator - Level 7
Регистрация: 05.11.2007
Сообщений: 894
Провел на форуме:
5609275

Репутация: 1474


По умолчанию

algol, тебе репа не ставится.
МОДЕРЫ! комментарий алгола надо закрепить.
 
Ответить с цитированием

  #163  
Старый 04.03.2009, 16:54
Аватар для nerezus
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
2)Работающие на виртуальной машине (Java, C#, Python)
Java и C# компилируемые.

А еще Python и lua - самые быстрые скриптовые языки(среди распространенных). Так что назвать питон медленным... это как-то непрофессионально.

Кстати эти 2 языка есть и в компилируемом виде, причем для питона надо просто модуль добавить в начало скрипта. чтобы он начал компилироваться.

Называется такая технология JIT.

Последний раз редактировалось nerezus; 04.03.2009 в 17:16..
 
Ответить с цитированием

  #164  
Старый 04.03.2009, 18:16
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от nerezus  
Java и C# компилируемые.
Они компилируются в промежуточный язык, который НЕ выполняется процессором. В момент запуска exe, JIT компилятор докомпиливает код и только тогда он превращается в исполняемый код, который понимает процессор.

Цитата:
А еще Python и lua - самые быстрые скриптовые языки(среди распространенных). Так что назвать питон медленным... это как-то непрофессионально.
Тут ключевое слово "скриптовые". Среди скриптовых может он и быстрый, но если сравнивать с С или C#, то он на порядки проигрывает в быстродействии.
 
Ответить с цитированием

  #165  
Старый 04.03.2009, 20:50
Аватар для nerezus
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
Они компилируются в промежуточный язык, который НЕ выполняется процессором. В момент запуска exe, JIT компилятор докомпиливает код и только тогда он превращается в исполняемый код, который понимает процессор.
Именно так. Но это не повод называть ЯП интерпретируемыми.

Цитата:
но если сравнивать с С или C#, то он на порядки проигрывает в быстродействии.
В JIT-реализации всего 10-15кратная разница относительно C++. Для логики приложения эта разница минимальна.
 
Ответить с цитированием

  #166  
Старый 04.03.2009, 22:03
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от nerezus  
Именно так. Но это не повод называть ЯП интерпретируемыми.
Где я написал что C# интерпретируемый ?

Цитата:
В JIT-реализации всего 10-15кратная разница относительно C++. Для логики приложения эта разница минимальна.
По твоему 15 кратная разница в быстродействии несуществена?

Я тебя плохо понимаю
Впрочем, все вышенаписанное - сугубое ИМХО, кто имеет другое мнение - может написать свой FAQ )
 
Ответить с цитированием

  #167  
Старый 04.03.2009, 22:12
Аватар для nerezus
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
По твоему 15 кратная разница в быстродействии несуществена?
Для абсолютного большинства задач - да.
 
Ответить с цитированием

  #168  
Старый 04.03.2009, 22:20
Аватар для Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от nerezus  
Для абсолютного большинства задач - да.
 
Ответить с цитированием

  #169  
Старый 04.03.2009, 22:27
Аватар для login999
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Цитата:
Сообщение от nerezus  
Для абсолютного большинства задач - да.
ИМХО не совсем корректно, скорее - для большинства ПОВСЕДНЕВНЫХ задач на данном этапе развития компьютерного железа, а так поддерживаю полностью
 
Ответить с цитированием

  #170  
Старый 05.03.2009, 00:53
Аватар для Forcer
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

Репутация: 275
Отправить сообщение для Forcer с помощью ICQ
По умолчанию

nerezus абсолютно прав. Занимаюсь поддержкой крупного портала(java). Время отображения отдельных страниц строго задано. Так вот это время рассчитывается исключительно из времени отклика удаленных сервисов - БД, веб-сервисов(превышение времени на секунду - уже существенно). Поэтому даже в крупном приложении ни о какой скорости работы кода речи не идет и быть не может.

Цитата:
на данном этапе развития компьютерного железа
В дальнейшем эта разница будет еще менее существенна.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books Python FRAGNATIC PHP, PERL, MySQL, JavaScript 1 01.11.2009 18:20
Начинаем программировать на Ruby, TCL alextoun PHP, PERL, MySQL, JavaScript 10 08.09.2008 03:15
Начинаем программировать на PHP, Python, AS3 nerezus PHP, PERL, MySQL, JavaScript 0 19.08.2008 10:42
Мультимедийные Обучающие Курсы TeachPro Java VenTeL ПО для Web разработчика 8 24.04.2008 15:38
Словарь Java-терминов foreva Чужие Статьи 0 08.02.2005 16:28



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ