|
| ||||||||||||||||||
Языки программирования: какой изучать?Автор: Владислав Демьянишин
Письмо в редакцию:
Пишет читатель Ruslan Semenov
Здравствуйте самый лучший журнал!!!
Я читаю ВАШ журнал с 2005 года, очень много почерпнул из него, советую всем своим знакомым, как самый лучший в своей сфере, ведь в остальных подобных ВАМ больше рекламы, а не полезной информации. Низкий поклон ВАМ за это от меня и всех читателей!!! Если можно напишите, пожалуйста, в следующим номере, как эффективнее познать язык программирования какой надо, да и откуда достать информацию может с какой-нибудь книжки, как научиться писать скрипты.
Спасибо!!! P.S. Создайте, пожалуйста, сайт. Я думаю, он у ВАС получится хорошо. Форум ваших читателей был бы весьма полезен, да и возможность написания своей статьи может пригодиться!!! Всего ВАМ самого хорошего. P.S.S буду рад получить ответ:) Уважаемый Руслан, над созданием сайта журнала сейчас ведется активная работа. Уверен, что очень скоро сайт будет запущен.
Теперь позвольте ответить на главный вопрос вашего письма следующей статьей.
Если в свое время домашний досуг казался неполноценным без телевизора, то сейчас он немыслим без компьютера. Некоторые пользователи ПК в какой-то момент начинают осознавать, что им больше не хочется быть простыми потребителями программ, игр, утилит, операционных систем, написанных кем-то. В их головах зарождается и созревает стремление познать новое, научиться программировать, чтобы создавать программы самостоятельно, под себя или чтобы работать и этим зарабатывать.
Тогда перед ними возникают вопросы:
Какие бывают языки программирования?
Для чего нужен и что может конкретный язык программирования, какой перспективнее?
Какой язык проще изучать?
Что нужно прочесть для изучения?
Какое ПО может понадобиться для программирования?
Какие бывают языки?Нет ничего проще. На данный момент мне известны самостоятельные (компилируемые) языки: Assembler, Basic, Pascal, Си. Исходный код программы на таком языке составляется в текстовом редакторе в виде текста. Когда код готов, его при помощи программы-компилятора компилируют в машинные команды центрального процессора и получают исполняемый файл с окончанием COM или EXE, иногда DLL.
После этого программа может быть успешно запущена под операционной системой, для которой компилировалась. Такая программа загружается операционной системой в оперативную память, и машинные команды программы подаются на выполнение в центральный процессор.
Как правило, такие программы зависят от процессора и операционной системы, установленной на компьютере. Таким образом, программа, откомпилированная для IBM PC (семейство процессоров Intel x86), не может быть запущена на Apple Mac, или, скажем, на гаджетах, таких как MP3-плеер, мобильный телефон, смартфон, КПК. Для этого нужно компилировать программу специально для этих устройств, поскольку их архитектура весьма отличается от IBM PC.
Также не могу не упомянуть о транслируемых языках Java, PHP, SQL, HTML, JavaScript, на которых пишутся не самостоятельные программы, а исполняемые скрипты. Исходный код таких программ пишется опять-таки в текстовом редакторе. Затем код не компилируется, а остается, как есть.
Выполнение такого скрипта целиком ложиться на операционную систему, которая должна поддерживать выполнение данных языков. Достаточно запустить такой скрипт на выполнение как обычную программу, как система тут же определит, что для выполнения скрипта необходимо запустить модуль трансляции языка в команды операционной системы.
Надо сказать, что в любой операционной системе есть клавиатура, мышь, дисковый накопитель, звуковая и видео система, сетевой интерфейс, какие-то арифметические и логические вычислительные мощности центрального процессора. Однако машинная реализация, т.е. архитектура всего этого, может быть разная.
Поддержка всех этих языков организуется в операционных системах как раз для того, чтобы программа могла всем этим манипулировать, независимо от того, как вся эта электроника реализована в устройстве.
Такие языки еще называют кроссплатформенными, т.е. выполняющимися на любом устройстве и под любой операционной системой.
Несомненно, это весьма удобно, потому что если взять хотя бы те же веб-странички, написанные зачастую на HTML и JavaScript, то их можно просматривать на любом компьютере, не важно, это IBM PC, Apple Mac, мобильный телефон, смартфон или КПК. Аналогично и Java-приложения, например, всем известные игры на мобильниках, которые мало зависят от марки производителя телефона.
Что могут языки?AssemblerAssembler появился как язык, близкий к машинным командам процессора. Для каждого семейства процессоров существует свой ассемблер, синтаксис которого зависит от конкретных команд и регистров, реализованных в процессоре. Этот язык еще называют языком низкого уровня, поскольку он позволяет программировать на самом приближенном к оборудованию уровне.
Рис. 1
Код можно составлять в обычном текстовом редакторе. Компиляция зависит от конкретного компилятора. Некоторые компиляторы позволяют компилировать в один заход, как, например, компилятор Turbo EditAsm. Другие предполагают два этапа: линковка и только затем компиляция. Для этого компилятор состоит из двух программ: линкера (tlink.exe) и компилятора (tasm.exe), как, например, у Turbo Assembler 4.0 фирмы Borland.
А вот и пример простейшей программы, осуществляющей решение формулы A=(B+5)+1:
jmp @start
A DW 0
B DW 2
@start:
mov AX,B
add AX,5
mov A,AX
inc A
В итоге программа компилируется в самостоятельную программу с окончанием файла COM, EXE, или в модуль подключения OBJ.
Таким образом, компилятор не имел в себе ни текстового редактора, ни отладчика для выявления ошибок выполнения программы. Тогда же появились и дебугеры (debugger) – отладчики, например, Borland Turbo Debugger или AFD.
Надо отметить, что ассемблер весьма неудобно использовать для создания больших программ, да и вообще для программ, имеющих пользовательский интерфейс (содержащий, например, окна, кнопочки, меню, полосы прокрутки, тулбары, и т.д). Даже, казалось бы, привычные арифметические операции не всегда удобно реализовывать на таком языке. Что уж говорить, если исходный код такой программы получается весьма растянутый, и трудно читаемый.
Сегодня ассемблер широко используется при программировании микроконтроллеров в специальных устройствах либо в отдельных участках кода, критичных к производительности.
Следует отметить, что по скорости выполнения ассемблерной программы, ей нет равных, ведь она работает непосредственно с процессорными командами. К тому же, выполняемый файл откомпилированной программы получается весьма компактный.
BasicВ свое время культовый язык, поскольку задумывался как простой для обучения элементарному программированию. Для каждой марки компьютера имелся свой Бейсик, но большинство команд были понятны любому компьютеру, и встраивался он прямо в ROM BIOS.
Вот небольшой пример исходного кода программы на этом языке:
10 Print "Hello!"
20 B=2
30 A=B+5
40 A=A+1
50 Print A
Когда-то существовали такие реализации языка: QBasic, Turbo Basic фирмы Borland. Эти компиляторы позволяли создавать программы для работы под операционной системой MS-DOS. Сейчас для создания программ этот язык практически не применяется, разве что Microsoft Visual Basic способен на большее, если говорить о создании программ под Windows.
Рис. 2
В поздних версиях языка Бейсик поставлялся компилятор, интегрированный (встроенный) в текстовый редактор. Это уже получался своего рода программный комплекс, совмещавший в себе редактор, отладчик и компилятор.
Он позволял редактировать исходный код программы, сохранять его в текстовый файл с окончанием BAS. При необходимости, позволял тут же запускать программу в режиме отладки, и выполнять даже в пошаговом режиме, команду за командой. А когда программа была готова, можно было сохранить прямо в EXE-файл.
Надо сказать, что скорость выполнения такой программы была медленная, поскольку полученная EXE-программа на самом деле содержала в себе исходный код, и при запуске транслировала (преобразовывала) его в команды операционной системы.
PascalКультовый язык, доживший до наших дней и переживший такие реинкарнации, как Borland Turbo Pascal, Borland Pascal (компиляторы для создания программ под ОС MS-DOS) и современные Borland Delphi (существуют версии 3, 4, 5, 6, 7) и Free Pascal (www.freepascal.org) для Windows.
Рис. 3
Задумывался опять же для обучения, и поэтому довольно прост в освоении. Руководство по языку Turbo Pascal доступно здесь, а по среде разработки Delphi учебник здесь, размер 140 Кб.
Синтаксис языка получился на столько удобным и гибким, что позволил постепенно встроить в него такие новые для того времени веяния, как поддержка библиотек и объектно-ориентированное программирование (ООП). К тому же язык позволяет вставлять в исходный код строки, написанные на языке ассемблер.
В своем арсенале язык имеет полный программный комплекс, включающий текстовый редактор, способный выделять цветом ключевые слова языка, отладчик и компилятор с оптимизатором кода. Все это теперь принято называть интегрированной средой разработки (IDE – Integrated Development Environment), поскольку для создания программки с визуальным интерфейсом половина работы упрощается и выглядит как детская игра, заключающаяся в перетаскивании элементов интерфейса (кнопочек, окошек, полос прокрутки, панели статуса, менюшек) на полотно создаваемого окна программы.
А ведь в прежние времена для каждого элемента интерфейса приходилось задавать координаты расположения и размеры вручную и еще много-много параметров. А сейчас перетащил мышкой и готово ;)
Откомпилированная программа выполняется практически так же быстро, как если бы она была написана на языке ассемблер. Размер создаваемых программ получается не очень большим. При этом, язык довольно мощный и позволяет реализовать как тонкое программирование оборудования, так и сложные математические вычисления, и даже объектные модели искусственного интеллекта.
Пример программы, эквивалентной предыдущей:
Var A, B : word;
Begin
Writeln('Hello!');
B:=2;
A:=B+5;
Inc(A);
Writeln(A);
End.
Исходный текст создаваемой программы сохраняется в текстовом файле с окончанием PAS. В результате компиляции, в зависимости от надобности, можно получить исполняемый EXE- или библиотечный DLL-файл.
Думаю, вам будет любопытно посмотреть, что может получиться при программировании в среде разработки Delphi:
Язык позволяет создавать программы разной сложности: управление базами данных, редактирование графических изображений, создание 2D- и 3D-игр, сетевые и сервисные программы, и многое-многое другое. Область применения языка ограничивается лишь фантазией программиста.
СиДовольно древний и я бы сказал, дремучий язык. Его синтаксис весьма не прост, и поэтому считается, что это язык профессионалов.
Несомненно, это так, если вспомнить, что многие операционные системы написаны именно на этом языке.
Мне известны такие компиляторы: C- для MS-DOS, Borland C++ Builder и Microsoft Visual C++ для Windows.
В комплекте данного языка есть все необходимое (как и положено IDE), и редактор исходного кода, отладчик, компилятор и среда визуальной разработки. Все то, что есть и у языка Паскаль. Надо сказать, что сама по себе среда разработки стала стандартом что ли. В условиях требований современной стремительной жизни немыслимо создавать программы, без подобной среды.
Признаться, я не Си-шник, хотя исходный код, написанный на Си понять могу. На сколько мне известно, программа, аналогичная предыдущей, на языке Си может выглядеть так:
int A = 0;
int B = 2;
Printf(“Hello!”);
A=B+5;
A++;
Printf(A);
Как видно из примера – весьма лаконичный язык.
Исходный код хранится в текстовых файлах с окончанием .C или CPP.
При необходимости, код компилируется в EXE- или DLL-файл.
По скорости выполнения программ язык весьма близок к ассемблерным показателям. Создаваемые программы получаются довольно компактными благодаря высокой оптимизации кода.
Область применения языка так же практически не имеет границ. На сегодняшний день большинство программ и известных игр в частности написано именно на этом языке.
JavaДовольно молодой язык, по своему синтаксису весьма напоминающий язык Си. Задумывался как кроссплатформенный. Мне известен лишь компилятор Borland JBuilder, позволяющий создавать как самостоятельные приложения для Windows, так и апплеты, которые могут выполняться в веб-браузерах – это похоже на Flash-вставки, но обладают большими возможностями, такими, как работа с 2D/3D-графикой, звуком, сетью. Исходный код можно откомпилировать в самостоятельную EXE-программу либо в апплет за два этапа: сначала исходный код компилируется в файл с окончанием CLASS, а затем компонуется в архивный файл JAR вместе со всеми используемыми ресурсами (графика, звуки,…). Пример кода:
Graphics g;
int A = 0;
int B = 2;
g.drawString(“Hello!”,1,1);
A=B+5;
A++;
g.drawString(A,1,2);
Изучить язык можно по учебнику http://sulfurzona.ru/tp/java-book.rar, размер 1.8 Мб
Рис. 4
Следует отметить, что среда разработки для этого языка весьма неповоротлива. Да и скорость работы самих приложений и апплетов оставляет желать лучшего.
Надо учесть, что апплет может быть запущен в браузере лишь в том случае, если в системе установлена Java-машина (www.java.com/ru/, размер 75 Мб).
Впрочем, я успешно программировал на Java и без среды разработки. Для этого пришлось скачать и установить Java SDK, а исходный текст программы составлять в обычном текстовом редакторе, типа Блокнот. При этом, правда, отладка программы несколько усложнилась, но в результате получилась удобная читалка для книг под мобильный телефон Nokia или любой с пддержкой Java (MyBookReader mobile).
Создатель языка Java - компания Sun Microsystems.
Ныне Java принадлежит компании Oracle.
HTMLЯзык гипертекстовой разметки документов позволяет создавать веб-странички для сайтов с цветовым, шрифтовым оформлением и иллюстрированием. Следует заметить, что это совсем не язык программирования, но статичный сайт сделать позволяет. Без знания этого языка не может состояться ни один веб-дизайнер. Пример кода:
<html>
<b>Hello!</b> </html> HTML-код можно составлять в обычном текстовом редакторе, и следует сохранять в текстовый файл с окончанием HTM или HTML. Разумеется, что в результате получается не программа, а просто красиво оформленный текстовый документ. При открытии такого документа система автоматически запустит установленный по умолчанию веб-браузер, в котором и отобразится созданная веб-страничка.
Для создания HTML-страниц может пригодиться пакет Macromedia Dreamweaver, но не рекомендую использовать MS FrontPage.
Хочу дать маленькое напутствие: не следует увлекаться фреймами – это ложный путь.
JavaScriptПрошу не путать с Java. Самостоятельно программа, написанная на этом языке существовать не может. Скрипты, составленные на этом языке, призваны дополнять HTML-страничку, и наполнять ее активными действиями, т.е. оживлять ее. Все выскакивающие красивые анимированные подсказки, выпадающие и выезжающие менюшки с изменяющейся прозрачностью – это все JavaScript.
Но это только видимая часть айсберга. На самом деле JavaScript может гораздо больше, увы, даже запустить вирус на компьютере. Программирование на JavaScript требует от программиста глубоких знаний объектной модели DOM, на которой основаны все движки браузеров. Пример кода:
<script>
var A = 0;
var B = 2;
alert("Hello!");
A=B+5;
A++;
alert(A);
</script>
Скрипты можно составлять в обычном текстовом редакторе и сохранять как в том же HTML-файле, так и в отдельном текстовом файле с окончанием JS.
Скачать вводный курс по языку JavaScript, размер 327 Кб.
PHPДанный язык пришел на смену весьма не простому и совсем не наглядному языку Perl, на котором уже давно создаются сложнейшие ресурсы сети Интернет. Язык PHP весьма похож на язык Си, и является очень наглядным и довольно простым в освоении. Именно поэтому PHP с каждым годом все больше теснит дедушку Perl’а.
Рис. 5
Язык PHP очень динамично развивается и обладает завидной гибкостью. Скрипты, написанные на этом языке, не являются самостоятельными программами, и могут выполняться только на специальном сервере Apache.
Динамичные сайты, способные обрабатывать базы данных (БД), работать с сессиями, архивами, изображениями, объектами пишутся именно на языке PHP. При этом, результатом деятельности такого скрипта является HTML-страничка. Пример кода:
<?php
$A = 0;
$B = 2;
echo "Hello!";
$A=$B+5;
$A++;
echo $A;
?>
Скрипты можно составлять в обычном текстовом редакторе и сохранять в текстовый файл с окончанием php, phtml (зависит от настроек сервера, но чаще php). Такие скрипты, как я уже говорил, может выполнять только специальный сервер, который обычно доступен, если у вас есть платный хостинг. Но каждый раз заливать скрипты через Интернет на сервер только для того, чтобы снова и снова проверить работоспособность отлаживаемого скрипта весьма утомительно. Да и не для того провайдер на своей
технической площадке поставил сервер, чтобы каждый веб-программист устраивал на нем свой испытательный полигон.
Для отладки своих скриптов я использую пакет Denwer (http://www.denwer.ru/dis/Base/latest, размер 2 Мб) – это сервер Apache, который можно установить на компьютер с Windows. Это очень удобно и позволяет не прекращать работу, даже, если с домашним или офисным Интернетом возникли временные проблемы.
Книгу по языку PHP можно скачать здесь, размер 580 Кб и почитать курс по языку PHP.
Следует заметить, что PHP-программист должен знать не только PHP, но и сопутствующие языки: HTML, JavaScript, CSS и SQL. А вы что думали? ;)
SQLСтруктурированный язык запросов к базе данных. Позволяет выполнять манипуляции с базами данных: создавать, редактировать, считывать данные, сортируя и преобразуя их.
По сути, это не язык программирования и на SQL нельзя создать самостоятельную программу. Но Delphi- и PHP-программисты хорошо знают, что это такое. При работе с базами данных в Delphi язык SQL незаменим. Ну а в языке PHP есть свой SQL под названием MySQL и весьма напоминает классический SQL.
Текст запросов редактируется как обычный текст и сохраняется прямо в теле Delph- или PHP-программ, иногда в текстовых файлах с окончанием SQL. Запрос обрабатывается специальным сервером баз данных.
Скачать книгу по SQL можно здесь, размер 180 Кб.
PythonPython - высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Python - это язык программирования, который позволяет работать быстро и осуществлять интеграцию систем более эффективно.
Язык Python довольно популярен сейчас и специалисты в этой области весьма востребованы.
Следует учесть, что с ходу освоить язык Python неподготовленному человеку, не "нюхавшему" программирование, будет сложно. Синтаксис языка Python весьма напоминает язык PHP. Я рекомендую начать именно с изучения языка PHP и лишь затем переходить к освоению Python.
Полезные сайтыexcode.ru – примеры на разных языках программирования
htmlbook.ru – справка по HTML, CSS
php.net – помощь через поиск по названиям функций. Некоторое на русском языке
php.su – документация и поиск по функциям на русском языке
citforum.ru/programming/ - программирование на разных языках
citforum.ru/internet/koch/tutorial.htm – книга по JavaScript
sources.ru - примеры на разных языках программирования
emanual.ru - руководства, книги
relib.com – статьи и форум для новичков
codenet.ru – примеры и статьи
НапутствиеЕсли вы уже загорелись желанием изучить язык программирования, но не наметили себе, какой именно, то хочу дать совет. Если вы хотите создавать компьютерные игры, то в одиночку у вас это вряд ли получится. По себе знаю – это очень тяжело. Сам до сих пор не понимаю, как мне это удалось.
Но должен огорчить вас тем, что на своих компьютерных играх я ничего не заработал, ну разве что на пару хороших букетов цветов для любимой девушки. Что поделать, народ у нас такой, все хочет даром. Ну да ладно.
Другое дело стать программистом и работать в серьезной фирме, разрабатывая серьезные утилиты или даже программные комплексы. Но чтобы этого добиться, нужно много учиться и сертифицироваться. Традиционно IT-индустрия испытывает дефицит таких специалистов.
Это я все к тому, если вы изберете языки Pascal, Delphi, Си или Java. Так что заканчивайте институт и милости просим в наши ряды ;)
С другой стороны с каждым годом в нашей стране все больше людей открывают свой частный бизнес. А серьезным продвижением к потребителю своих товаров и услуг, несомненно, является Интернет. Да и просто солидно иметь свой сайт, если человек занимается бизнесом. Помимо этого, сайт обеспечивает бесплатную рекламу в сообществе сетян и позволяет сэкономить на дорогой внешней рекламе.
Отсюда и большая востребованность веб-программистов сегодня. И это не однодневный ажиотаж, а уже закрепившаяся тенденция.
Если уж вы встали на нелегкую стезю программиста, то вам могут пригодиться книги, которые в свое время были у меня настольными:
Желаю вам ни багов ни глюков!
© Владислав Демьянишин
Вы находитесь на официальном сайте Владислава Демьянишина - разработчика игры Dune IV (Dune 4). На нашем сайте Вы можете бесплатно скачать игры Dune IV (Dune 4), Battle City (Танчики с Dendy/Nintendo), читы к играм и многое другое. Также Вы можете скачать бесплатно программы и полезные утилиты. Все программы чистые, т.е. не содержат вирусов и иного вредоносного ПО.
Среди доступных программ есть мобильная читалка книг, менеджер переноса файлов с фото- и видеокамер на компьютер, текстовый редактор, WYSIWYG редактор, 3D аниматор, GIF аниматор, AVI аниматор, пакетный конвертор изображений, редактор электрических схем, программа для скриншотов, диспетчер тем рабочего стола и другие.
На нашем сайте можно не только бесплатно скачать игры, но и документацию и книги по программированию на MIDLetPascal, Turbo Pascal 6, Turbo Pascal 7, Borland Pascal, по программированию устройств Sound Blaster, Adlib, VESA BIOS, справочник Norton Guide и много другой полезной информации для программистов, включая примеры решения реальных задач по созданию резидентных программ.
| |||||||||||||||||||
|
|||||||||||||||||||