Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Форум АНТИЧАТ
> Программирование
> С/С++, C#, Delphi, .NET, Asm
|
Начинаем программировать на C++, C#, ассемблере(win), Qt, Python, Java, AS3.
|
|
 |
|

04.03.2009, 14:39
|
Регистрация: 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..
|
|
|

04.03.2009, 15:01
|
|
Moderator - Level 7
Регистрация: 05.11.2007
Сообщений: 894
Провел на форуме: 5609275
Репутация:
1474
|
|
algol, тебе репа не ставится.
МОДЕРЫ! комментарий алгола надо закрепить.
|
|
|

04.03.2009, 16:54
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
2)Работающие на виртуальной машине (Java, C#, Python)
Java и C# компилируемые.
А еще Python и lua - самые быстрые скриптовые языки(среди распространенных). Так что назвать питон медленным... это как-то непрофессионально.
Кстати эти 2 языка есть и в компилируемом виде, причем для питона надо просто модуль добавить в начало скрипта. чтобы он начал компилироваться.
Называется такая технология JIT.
Последний раз редактировалось nerezus; 04.03.2009 в 17:16..
|
|
|

04.03.2009, 18:16
|
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Сообщение от nerezus
Java и C# компилируемые.
Они компилируются в промежуточный язык, который НЕ выполняется процессором. В момент запуска exe, JIT компилятор докомпиливает код и только тогда он превращается в исполняемый код, который понимает процессор.
А еще Python и lua - самые быстрые скриптовые языки(среди распространенных). Так что назвать питон медленным... это как-то непрофессионально.
Тут ключевое слово "скриптовые". Среди скриптовых может он и быстрый, но если сравнивать с С или C#, то он на порядки проигрывает в быстродействии.
|
|
|

04.03.2009, 20:50
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
Они компилируются в промежуточный язык, который НЕ выполняется процессором. В момент запуска exe, JIT компилятор докомпиливает код и только тогда он превращается в исполняемый код, который понимает процессор.
Именно так. Но это не повод называть ЯП интерпретируемыми.
но если сравнивать с С или C#, то он на порядки проигрывает в быстродействии.
В JIT-реализации всего 10-15кратная разница относительно C++. Для логики приложения эта разница минимальна.
|
|
|

04.03.2009, 22:03
|
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Сообщение от nerezus
Именно так. Но это не повод называть ЯП интерпретируемыми.
Где я написал что C# интерпретируемый ?
В JIT-реализации всего 10-15кратная разница относительно C++. Для логики приложения эта разница минимальна.
По твоему 15 кратная разница в быстродействии несуществена?
Я тебя плохо понимаю
Впрочем, все вышенаписанное - сугубое ИМХО, кто имеет другое мнение - может написать свой FAQ )
|
|
|

04.03.2009, 22:12
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
По твоему 15 кратная разница в быстродействии несуществена?
Для абсолютного большинства задач - да.
|
|
|

04.03.2009, 22:20
|
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Сообщение от nerezus
Для абсолютного большинства задач - да.

|
|
|

04.03.2009, 22:27
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от nerezus
Для абсолютного большинства задач - да.
ИМХО не совсем корректно, скорее - для большинства ПОВСЕДНЕВНЫХ задач на данном этапе развития компьютерного железа, а так поддерживаю полностью
|
|
|

05.03.2009, 00:53
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме: 3578578
Репутация:
275
|
|
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)
|
|
|
|