Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Усилители интеллекта: теории, эксперименты, технологии


Усилители интеллекта: конструкторы алгоритмов 6-2(2)

Уважаемые любители интеллектуальных программ!

Этим выпуском завершается цикл, посвященный IDE (визуальным средам программирования). Он должен был выйти в апреле, но по причинам, указанным в предыдущем выпуске, произошла задержка. Напомню, что в мартовском выпуске мы бегло знакомились с главным конкурентом NetBeans - тремя средами Visual Studio 2008 Express Edition (Basic, C#, C++), разработанными Микрософт.


NetBeans IDE 6.8
IDE с открытым исходным кодом, написанная на языке Java (с версии 6.8 - с русскоязычным интерфейсом). Поддерживает программирование на языках Java, JavaFX, Ruby, Python, PHP, JavaScript, C++ и ряде других. Компания Sun Microsystems основала проект с открытым исходным кодом NetBeans в июне 2000 года. В настоящее время развитие NetBeans IDE поддерживается компаниями Sun и Oracle, но разработка ведется сообществом программистов-энтузиастов (NetBeans Community) и компанией NetBeans Org.
По качеству и возможностям последние версии NetBeans IDE не уступают лучшим коммерческим  IDE для языка Java, таким как IntelliJ IDEA, поддерживая рефакторинг, профилирование, выделение синтаксических конструкций цветом, автодополнение набираемых конструкций на лету, множество предопределённых шаблонов кода и др., но в отличие от них является бесплатной.
Описание и ссылки на http://netbeans.org/index_ru.html
Установочный файл 297 Мб, после инсталляции занимает 770 Мб. (скачать)
При инсталляции запросит скачать и установить JDK версии не ниже 1.5. И что радует с самого начала - никаких проблем с установкой под Висту!

Для справки. Java (произносится джава, шутливое название, выбранное из-за любви некоторых программистов к кофе одноименной марки. На официальной эмблеме языка изображена чашка с дымящимся кофе.) - объектно-ориентированный язык программирования. С 1990 года разрабатывался Джеймсом Гослингом в Sun Microsystems для программирования бытовых электронных устройств, но затем область приложений охватила веб-серверы и персональные компьютеры.
Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор, но с тем отличием, что байтовый код, в отличие от текста, обрабатывается значительно быстрее. Достоинство подобного способа выполнения программ — в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
В настоящее время существуют три редакции Java: Enterprise (серверы), Standart (персональные компьютеры) и Micro (наладонники, коммуникаторы, сотовые телефоны).
Java -
абсолютный лидер в параде популярности языков программирования. Ее используют более 6,5 миллионов программистов. Это самое большое и самое активное программистское сообщество на планете.  Java используется в более чем 4,5 миллиардов устройств. Среди них: более 800 млн. персональных компьютеров; 2,1 миллиарда мобильных телефонов и других портативных устройств;  3,5 миллиарда смарт-карт; телеприставки, принтеры, веб-камеры, игры, автомобильные системы навигации, игровые автоматы, медицинское оборудование, парковочные автоматы и т. д.
Вот как характеризуют этот язык его поклонники:
Идеологию Java можно выразить фразой «написано однажды, работает везде». Таким образом, один и тот же код можно запускать под управлением операционных систем Windows, Linux, FreeBSD, Solaris, Apple Mac и др. Это становится очень важным, когда программы загружаются посредством глобальной сети интернет и используются на различных платформах. Кроме того, это машинно-независимый язык, способный работать на процессорах любой архитектуры.
Программировать на Java проще и надежнее, чем на С++. При создании Java был проведен фундаментальный анализ программ на языке С++. Анализировались "узкие места" кода, которые приводят к ошибкам. Для профилактики таких "узких мест" было сделано следующее:

  • разработчики исключили возможность явного выделения и освобождения памяти. / К примеру, память в Java освобождается автоматически с помощью механизма сбора мусора. Получается, что программист застрахован от ошибок, которые возникают от неправильного использования памяти.

  • введение истинных массивов и запрещение указателей. / Теперь программисты не могут стереть данные из памяти по причине неправильного использования указателей.

  • была исключена возможность перепутать оператор присваивания с оператором сравнения на равенство. / Как правило, проблема со знаком "=" очень часто приводит в С и С++ к логическим ошибкам, которые не так просто обнаружить. Особенно в крупных программах.

  • полностью исключено множественное наследование. / Оно было заменено новым понятием - интерфейсом, идея которого была позаимствована из языка Objective C. Интерфейс дает программисту практически все, что тот может получить от множественного наследования, избегая при этом сложностей, которые возникают при управлении иерархиями классов.

  • особое внимание уделено раннему обнаружению возможных ошибок программирования. Компиляторы Java выявляют ошибки, которые в других языках компиляторы обычно пропускают.

Очень короткие программы. Для Java как языка, призванного работать в Интернете, краткость - это очень существенное достоинство, поскольку коды приходится пересылать по Сети. Интерфейс вместе с библиотеками поддержки занимает всего пару сотен килобайт, что позволяет программам успешно работать на маломощных и устаревших компьютерах.
Высокопропроизводительный язык, поддерживающий многопоточность и работу с многоядерными процессорами (если это позволяет ОС).
Распределенный язык, легко работающий с сетевыми протоколами и позволяющий реализовывать программы на множестве связанных компьютеров.
Более других языков безопасен при работе в сетях.  Его система безопасности намного надежнее, чем, к примеру, микрософтовский ActiveX.
Динамичный язык. Быстро меняется в связи с изменениями в среде. В библиотеки его можно постоянно добавлять новые методы и объекты, не причиняя никакого вреда основам. Ну и к тому же, в среде языка Java легко можно получить информацию о ходе выполнения программ. 

Тестовая задача решается почти как в Visual Studio. Создаем новый проект Java / Настольное приложение Java. По умолчанию ему предлагается имя DesktopApplication1. Далее на экране появляется окно Конструктора формы с заготовкой, содержащей панель инструментов с кнопками File и Help. Буксируем на рабочее поле Панель редактора и задаем размер на все поле. В Свойствах Редактора находим пункт text и вставляем туда вопросник эвристики "Гегель".
Остается настроить кнопки. В подменю кнопки File добавляем пару пунктов и через их Свойства переименуем в Открыть и Сохранить.  ... (здесь тестирование было прервано. Если кто из подписчиков продолжит, буду рад предоставить место в рассылке)
 

* * *

Под занавес - из историй о программистах:

Сын программера приходит из школы. Отец:
- Как диктант?
- Да так. Всего две ошибки. Но в общем скомпилировался.
 

* * *

Вот и всё... Вопросы и замечания mailto:feod@narod.ru

До новых встреч!
Юлий Феодоритов
 


В избранное