Пример

Профиль

Гость
Логин:
Пароль:

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!

ICQ - Бот

- 569243131
Наш ICQ - Бот it-x7.do.am
Множество интересных возможностей
Справка - ??
Список команд - !help, help, ?
Проф. команды - prof

Облако софта

Хочешь себе такой блок?

Наш опрос

Ваша скорость интернет соединения?
Всего ответов: 38

Поиск

Статистика

Зарег. на сайте

Всего: 7284
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0


Статистика материалов

Новостей: 259
Статей: 54
Файлов: 15
Фото: 70
Форум: 35/191
Коментариев: 4484



Онлайн всего: 1
Гостей: 1
Пользователей: 0

Друзья сайта

Главная » Статьи » Мастерская » Прочее


На каком языке «разговаривать» программисту?

Компьютерный язык

Компьютер «общается» на одном языке - машинном. Машинный код состоит всего из двух цифр 0 и 1. Едини­ца соответствует высокому сигналу, а ноль - низкому. Естественно, что написать программу, используя этот язык, даже переводя числа в десятеричную или шес­тнадцатиричную систему, не представляется возмож­ным. Для нормального восприятия кода был придуман Ассемблер. Он полностью повторяет все машинные команды, только обозначает их понятными сокраще­ниями (add - сложить, mov - переместить). Ассемблер совершенно не предназначен для быстрой разработки или масштабного программирования. Код получается очень громоздкий. К примеру, чтобы сложить два числа, необходимо поместить в аккумулятор первое значение, затем подать команду на сложение. Итоговый результат будет храниться в аккумуляторе, затерев предыдущую переменную. Программирование в ассемблере дает самое высокое быстродействие из всех языков, так как каждой машинной команде соответствует своя мне­моника. Размер программы будет минимальным. Но отлаживать код, вносить какие-либо изменения крайне тяжело. Приходится «перелопачивать» гору кода, для внесения небольшого изменения, и чтобы оно не пов­лияло на работоспособность программы.

Мнемоника ассемблера не постоянна, могут добав­ляться новые команды, старые нередко действуют от­лично друг от друга. Здесь все зависит от архитектуры процессора. Но по своей логике команды ассемблера идентичные.

О программистах и программировании

Лично я разделяю программистов на две категории: логиков и математиков. Первые имеют четкое пред­ставление в голове о еще не готовом проекте, а вторые

обладают серьезными математическими знаниями. Они могут выходить из физиков, математиков и уже затем столкнувшиеся с программированием. Обладая такими способностями к расчетам, они, например, лег­ко могут перевести трехмерные объекты в код.

Я отношусь к программистам первой категории. Вы­сшая математика для меня достаточно сложна. Логику удобнее и проще изначально выстраивать на бумаге. Каждый программист, приступая к изучению нового языка, поступает по-своему. Кто-то ищет операторы, аналогичные уже знакомому ему языку; кто-то начина­ет с фундаментальных основ, досконально изучая всю имеющуюся литературу. Изучение нового языка я, если есть такая возможность, начинаю с разработки неболь­шой программы-игрушки. Уже в процессе ее создания обращаюсь к справочникам, находя необходимые мне операторы.

Специфика рынка

Тройку лидеров в Америке и Европе уверенно удер­живают C/C++, Visual Basic и Java. Разница между ними минимальна. Далее идет самый популярный скриптовый язык РНР. Остальные языки в рейтинге популярнос­ти/применяемости отстают достаточно серьезно.

В России ситуация немного другая. VB и Java не имеют лидирующих позиций, они крепкие середняки Непререкаемыми лидерами являются языки семейс­тва С. Хорошие позиции у Delphi, РНР и Perl. Отметиг* стабильно высокую позицию в обоих рейтингах срав­нительно нового языка - С#.

Довольно интересная ситуация произошла с Delphi. Е 2006 году компания объявила о прекращении всех раз работок в этом направлении. Новых версий не предвиделось и пессимисты на каждом углу кричали о кончине эры «Дельфи». «Borland» не отказалась от своих намерений i действительно перестала заниматься средствами разра­ботки . В дальнейшем все наработки были проданы другой компании, которая с успехом реанимировала Delphi. Но неприятный осадок остался. При этом С# может рассмат­риваться как его главный конкурент.

Visual Basic в нашей стране никогда не был на пер­вых ролях. Изначально язык был простым в освоении и имел не очень хороший функционал. «Слишком прос­то», - говорили одни, «мало умеет» - вторили другие. В итоге переходили на Delphi и C/C++. В настоящее время он вырос в «монстра», мало уступающего по функциональности языку Delphi. А по сложности - ре­ализация многопоточности, работа с периферией, он как минимум ему не уступает. Активное использование языка продолжается при написании приложений для «Microsoft Office». Используется специализированный VBA - Visual Basic for Applications.

Если объединить все скриптовые языки, то их доля в рейтинге популярности языков будет наравне с ли­дером или даже обойдет его. Интернет-технологии продолжают развиваться, непременно будет увели­чиваться и востребованность данных специалистов. Кроме того, в сети достаточно вакансий на удаленную работу именно по этим языкам.

В крупных городах и регионах РФ самыми востре­бованными специалистами являются программисты, пишущие на С++ и занимающиеся веб-технологиями. Область распространения C/C++ очень велика, это микроконтроллерная техника, прикладное и игровое программирование. Здесь он далеко впереди всех. Совсем иная ситуация в слаборазвитых, в промыш­ленном плане, регионах. Ввиду меньшего спроса на ИТ-специалистов здесь нет ярко выраженного доми­нирования какого-то одного языка.

Скриптовые языки

Скриптовые языки еще называют сценарными или динамическими. К ним относятся Perl, Python, РНР, Ruby, TCL, Java Script, VBScript и ряд других. Всех их объединяет использование в одной сфере. Почти на 100% скриптовые языки используются в Интернет-среде. Для придания сайтам динамических свойств -выпадающие меню, отсылка почты, ответы на вопросы, применяют Java Script и VB Script. Но Java Script более предпочтителен, так как лишь браузер «lnternet Explorer* без проблем работает с Basic'oM. Код выполняется непосредственно на клиентском (пользовательском) компьютере. Приложения, написанные на остальных языках, выполняются на сервере и взаимодействуют с пользовательскими данными. Это существенно сни­жает нагрузку на клиентский компьютер, как в плане производительности, так и загрузки интернет-траффика. Негативным моментом является то, что в хакерских атаках используются языки данной группы.

Отдельной строкой выделим Action Script, применя­емый в флэш-программировании. Использование AS началось с написания простеньких и зачастую «тупо­ватых» игр. Уязвимым местом языка являлась его скорость. Но со временем, а уже вышла третья редакция AS, проблема была решена. Хоть по быстродействию и возможностям Action Script по-прежнему уступает язы­кам семейства С, но и на нем можно писать достойные приложения. А по удобству работы с графикой ему нет равных. Поэтому язык можно рекомендовать людям, любящим делать маленькие игрушки. Это может стать вашей отправной точкой в будущем мире игростроительства. Заметим, что есть редкие проекты на Action Script, абсолютно не уступающие по качеству програм­мам, написанным на других языках.

Объектно-ориентированные языки

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

Язык Java является полностью объектно-ориенти­рованным и имеет синтаксис, схожий с С++. Отмечая преимущества языка перед конкурентами, обычно выделяют его межплатформенность. Я выделил бы его внутреннюю структуру. Он лишен многих синтаксичес­ких просчетов, присущих С++, в нем меньше ненужных «заморочек» и поэтому писать на нем приятнее. Типич­ным использованием языка являются интернет-приложения, работа с базами данных, создание сложных пользовательских интерфейсов. С другой стороны, Java существенно проигрывает языкам семейства С по ско­рости обработки графики и в приложениях, требующих сложных математических вычислений.

С++ является прямым наследником языка С. Он имел большую популярность, но когда в нем появился объектно-ориентированный подход (С++), армия его поклонников значительно увеличилась. Благодаря быстродействию и возможности оперировать на самом низшем уровне он находит применение во всех облас­тях программирования. Конечно, в каких-то случаях удобнее будет применить специализированный язык, но ничто не помешает вам задействовать именно С.

С# - новый язык, опирающийся на С++ и Java. За годы работы с объектно-ориентированными языками произошло некоторое переосмысление принципов пос­троения таких систем. Компанией «Майкрософт» были учтены негативные моменты их использования, например небезопасность кода, и в итоге появился новый язык. В нем постарались совместить простоту использования Visual Basic'a и низкоуровневый доступ к памяти при не­обходимости. Он был специально разработан для новой технологии .Net. Понятием которые пределяют и библиотеку и платформу - среду, в которой исполняется программа. Она, наряду с Java-машиной, служит промежуточным звеном между программой и машинным языком. На­писанное приложение преобразовывается в байт-код. У этого метода есть свои достоинства и недостатки. К плюсам отнесем кроссплатформенность, т.е. програм­ма без каких-либо изменений будет запускаться на ОС Windows, Linux, Mac OS. Но в реальности это не всегда так. За многоплатформенность приходится расплачиваться меньшей скоростью выполнения программы и необходи­мостью установки самой платформы. Это существенно снижает область применения языка. Дефакто С# пока прижился только на родной операционной системе. Что мне сильно не нравилось в С++, так это работа с Windows. MFC, пришедшая на смену Windows API, была не намно­го легче в освоении, а для построения обычной формы приходилось писать несколько строчек кода. Но с прихо­дом новой платформы больше не нужно отвлекаться на подобные мелочи, можно всецело сосредоточиться на программировании. Библиотека .Net получилась удачной и «человеческой», а применять Wn API вам придется лишь в крайних случаях.

Категория: Прочее | Добавил: Godrik (17.10.2009)
Просмотров: 494 | Теги: script, программа, язык, JAVA, использование, КОД, ассемблер, Работа, программирование, машинный | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
it-x7.do.am © 2010; Все права защищены;
Все материалы размещенные на сайте пренадлежат их владельцам и предоставляются исключительно в ознакомительных целях.
Администрация ответственности за содержание материала не несет и убытки не возмещает.
Сайт управляется системой uCoz