Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Вибір мови програмування для розробки проекту





Мабуть, найпоширеніший питання серед людей, охочих розробляти програмне забезпечення, але які так і не визначилися, якою мовою це робити. До сих пір не вщухають баталії. Java або С ++? А може Python? Відразу скажемо - ці порівняння, це як порівнювати зелене з круглим. Так, деякі сучасні мови програмування схожі між собою. Так, деякі краще управляють пам'яттю ніж інші. Але на деяких краще реалізувати серверні додатки. Але це не тому що одні краще інших, а тому що кожна мова призначений для своїх цілей!

Програми на Java можуть знайти різне застосування в навчальному процесі: інтерактивні навчаючі програми (HTML в поєднанні з Java), програми-тести і особливо ділові ігри. Додаткові переваги можна отримати, якщо писати ці програми у вигляді аплетів, які ініціалізуються з Web сервера внутрішньої мережі Intranet. В такий спосіб можна уникнути інсталяції програми на багатьох комп’ютерах - користувач просто запускає Web-броузер і загружає потрібну сторінку. Для тестових програм, написаних на Java з викориситанням архітектури клієнт/сервер можна підвищити ступінь конфіденційності. База даних тестових запитань знаходиться на сервері в каталозі з обмеженим доступом. Коли користувач загружає аплет, він автоматично підключається до програми-сервера, яка виконується на сервері і може видавати запитання з бази даних у відповідь на запит користувача. В такий спосіб унеможливлюється викрадення бази даних, за умови відсутності фізичного доступу до серверу у користувачів.

Окреме питання - навчальні ділові ігри. Під такою грою розумітимем гру, за участю кількох користувачів, в якій мається на увазі динамічний обмін інформацією між ними. Система безпеки Java накладає обмеження, внаслідок якого аплет може встановлювати з’єднання лише з хостом, з якого він був завантажений і ні з яким більше. Але це обмеження легко обходиться: на сервері виконується програма-сервер, з якою з’єднуються усі клієнти і через яку здійснюється обмін інформацією. Таким чином така програма повинна мати архітектуру клієнт/сервер.

Чому ж варто почати розробку програмного забезпечення з Java, і які переваги вона має перед іншими об'єктно-орієнтованими мовами? Ми не будемо заглиблюватися в теорію і незнайомі новачкам терміни, а просто наведемо кілька аргументів, зрозумілих кожному.

1.Нізкій поріг входу.

Завдяки простоті синтаксису, безлічі відмінних книг і форумів, почати вчити Java можна з нуля, не маючи ніяких знань в області програмування. Почніть свій шлях з найпростішого "Hello, World!", І закінчите з багажем знань, достатніх для вакансії стажиста в одній з численних IT-компаній.

2.Доступность.

Всюди, завжди і для будь-яких платформ. Крім того - інструменти для програмування на Java абсолютно безкоштовні, їх багато (як і інформації про них самих). Крім JDK можна виділити також Eclipse - безкоштовно-поширювану середовище розробки, яка володіє широким функціоналом і гідним рівнем якості (хоча, якщо вірити Lurkmore, Eclipse - все той же текстовий редактор, але зате з преферанс і мадмуазель. А ще він крос-платформний, але про це пізніше).

3.Набір стандартних бібліотек класів.

Безліч документації і стандартних класів, які полегшать вам життя в процесі навчання, і позбавлять від стомлюючого написання найпростіших, але широко використовуваних методів. Чи не влаштовують стандартні класи? Візьміть все в свої руки, і створіть (перепишіть) свій варіант класу або методу, потрібний вам в тій чи іншій ситуації.

4.Полная кросплатформенність.

Правильно спроектований додаток буде однаково працювати як на Windows, так і на MacOS, Linux і безлічі інших операційних систем. Напишіть код раз, для однієї системи. А потім без ніяких проблем запустіть його на будь-який інший.

5.Останнє в списку, але мабуть, найважливіше - потреба на біржі праці.

Потреба в Java-програмістів не вщухає протягом декількох років. Більш того, вона тільки зростає. Оскільки краще рішення для корпоративних серверів баз даних - Java, вас з радістю візьмуть в якості стажера навіть з початковими знаннями ООП (для подальшого навчання і підготовки вас як IT-фахівця) безліч компаній як в Україні, так і за кордоном.

З одного боку, Java - об'єктно-орієнтована мова програмування, з іншого - технологія, розроблена компанією Sun Microsystems. Як мова, так і технологія офіційно існує з 23 травня 1995 року.

Код компілюється в байт-код і працює на спеціальній Java-машині. Це згладжує як недоліки виникають при чистій компіляції так і недоліки виникають при чистій інтерпретації.

При чистій компіляції на основі вихідного тексту програми складається набір машинних команд, відповідних алгоритму програмного коду. Тобто, після компіляції тексту в набір команд, ми отримуємо як результат, якусь програму, для запуску якої не потрібно нічого крім тієї операційної системи, для якої була написана програма. Так як, при компіляції перехід здійснюється в набір команд, зрозумілих конкретної машині (комп'ютера) і конкретного середовища (ОС), то і оптимізація цього коду виходить з параметрів і конфігурацій цієї самої машини. Тому така програма буде працювати максимально стабільно і швидко, буде витрачати мінімум ресурсів. Але виникає проблема - при перенесенні програми на іншу платформу, що не гарантується що та ж програма буде так само добре працювати, не гарантується що її взагалі можна буде запустити.

При чистій інтерпретації відбувається послідовне виконання частин вихідного тексту програми. Зазвичай це відбувається по зчитуванні кожної текстової команди. Зчитується текстова команда, потім вона перетворюється на відповідну їй машинну інструкцію, потім ця інструкція виконується машиною, і потім зчитується наступна текстова команда. Тут немає проблеми з перенесенням на іншу платформу, але виконання алгоритму вимагає більшої кількості ресурсів і не так швидко змінюється.

У Java ж використовується байт-код, коли на основі вихідного тексту програми складається якийсь код (байт-код). Для виконання алгоритму цього коду використовується спеціальний інтерпретатор. Він послідовно переводить команду байт-коду в відповідні машинні інструкцію і виконує її, потім переводить наступну команду байт-коду. Причому байт-код ж оптимізований під конкретну платформу, так що б на його виконання витрачалося мінімум часу і ресурсів. При цьому програма коректно працює і на інших платформах, головне щоб на них було встановлено інтерпретатор цього байт-коду.

Принципи Java.

Всім відомо, принципи Java - простота мови, безпека і переносимість коду. Ці принципи не завжди виконуються. Як наприклад, складність синтаксису вкладених класів. Але в цілому їх вплив на мову вибило Java в перші ряди. Зробити Java досить надійним інструментом, в таких областях як космічна промисловість (марсохід Spirit), для фінансової сфери.

Одне з найбільших переваг мови полягає в багатій бібліотеці. З одного боку громадність бібліотеки є однією з перепон до вивчення мови, і як наслідок високий поріг входження. Але завдяки високому порогу входження популярність мови знизилася, в той час як затребуваність мови залишилася колишньою/збільшилася. Це дає нам такі плоди як висока зарплата Java-програмістів, відносно мала конкуренція, можливість безкоштовного навчання Java зацікавленими фірмами і наступні сертифікація та працевлаштування, силами цих же фірм.

Багата бібліотека зводить тривіальну частина роботи програміста до пошуку готового рішення. Що звільняє програміста від рутини і надає йому можливість більш серйозно вкластися в творчий аспект, заощадити час і сили.

Одна з проблем Java. І причини тут можна виділити дві: жорстка політика Об'єктно-Орієнтованого Підходу (далі ООП), відсутність функцій першого класу (first-class function).

Політика ООП введена в Java з метою позбавлення від деяких небезпек, що виникають при створенні великого проекту. У Java ж неможливо створювати функції, які не є методами будь-якого класу. Наприклад, в С ++ такої заборони немає. Через це в С ++, при проектуванні великих проектів, виникає цілий ряд небезпек. Використання функцій «не методів» призводить до того що:

- може виникнути конфлікт при іменуванні функцій, коли ім'я функції з таким же набором параметрів і такого ж типу даних вже є;

- проект в цілому ставати більш неповороткий;

- проект стає важкий для осмислення, не тільки тому програмісту, який працює недавно, а й тому хто давно в проекті.

Заборона на функціональний підхід позбавляє від подібних небезпек і вчить хорошому тону програмування.

Функції першого порядку по-суті дуже схожі з класами першого порядку. Це функції, які можна передавати як параметри. В С++ це вирішується за допомогою підтримки покажчиків на функції. У Java все-таки є способи передачі посилання на функцію, але зазвичай там де в С++ використовується покажчик на функцію, в Java прийнято використовувати Інтерфейси. Це більш багатослівна технологія, але при цьому вона позбавляє від небезпек при використанні покажчиків.

Як бачите на одній чаші ваг багатослівність з громіздкістю, а на інший надійність роботи проекту і безпеку.

Java, незважаючи на різні способи оптимізації, все ж досить ресурсомістка і повільна. Причини в наступному:

- автозбирання сміття;

- компіляція "на льоту" (Just In Time compilation);

- відмова від таких небезпечних механізмів як: арифметика покажчиків, неявне перетворення типів з втратою точності, функції першого класу.

Але це все робить мову більш платформонезалежною і безпечною. Автозбирання сміття з одного боку звільняє програміста від турботи звільнення пам'яті, з іншого боку відома проблема коли автозбирання сміття не спрацьовувало і відбувався серйозний витік пам'яті.

Компіляція на льоту мабуть одне з найбільш вдалих рішень по реалізації.

Java є основою практично для всіх типів мережевих додатків і загальним стандартом для розробки і поширення вбудованих і мобільних додатків, ігор, веб-контенту та корпоративного програмного забезпечення. У світі налічується понад 9 мільйонів фахівців, які розробляють додатки на Java, яка дозволяє ефективно розробляти, впроваджувати і використовувати чудові додатки і послуги.

Від портативних комп'ютерів до центрів збору даних, від ігрових консолей до комп'ютерів, які використовуються для наукових розробок, від стільникових телефонів до мережі Інтернет - Java використовується всюди:

- Java використовується на 97% корпоративних настільних ПК;

- Java використовується на 89% настільних ПК в США;

- 9 млн розробників на Java в світі;

- інструмент номер 1 серед розробників;

- програма номер 1 серед розробників;

- Java використовується в 3 млрд мобільних телефонів;

- Java входить в комплект поставки 100% всіх програвачів дисків Blu-ray;

- використовується 5 млн Java Card;

- Java використовується в 125 млн ТВ-пристроїв;

- 5 з 5 основних виробників оригінального устаткування включають в комплект поставки Java ME.

Чому розробники програмного забезпечення вибирають Java.

Технологія Java протестована, вдосконалена, розширена і перевірена учасниками спільноти розробників Java, архітекторів і ентузіастів. Java дозволяє розробляти високопродуктивні портативні програми практично на всіх комп'ютерних платформах. Доступність додатків в різнорідних середовищах дозволяє компаніям надавати більш широкий спектр послуг, сприяє підвищенню продуктивності, рівня взаємодії і спільної роботи кінцевих користувачів і істотного зниження вартості спільного володіння корпоративними і споживчими додатками. Java стала незамінним інструментом для розробників і відкрила для них такі можливості:

- написання програмного забезпечення на одній платформі і його запуск практично на будь-який інший платформі;

- створення програм, що працюють в веб-браузері і мають доступ до веб-служб;

- розробка додатків на стороні сервера для форумів в Інтернеті, магазинів, опитувань, обробки форм HTML і багато іншого;

- об'єднання додатків або служб з використанням мови Java для створення високоспеціалізованих додатків або служб;

- створення багатофункціональних і ефективних додатків для мобільних телефонів, віддалених процесорів, мікроконтролерів, бездротових модулів, датчиків, шлюзів, споживчих продуктів і практично будь-яких інших категорій електронних пристроїв.

Проанілізувавши все вищесказане, можна зробити висновок, що Java повністю задовольняє нас у створенні нашї інформаційної системи підтримки розробки робочої програми дисципліни.

Date: 2016-06-09; view: 684; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию