"О нет, только не JavaScript". Все чаще и чаще мне приходится слышать это от опытных веб-девелоперов. Вот основные их аргументы:
- JavaScript - не полноценный язык;
- JavaScript - процедурно-ориентированный язык программирования;
JavaScript - не полноценный язык. Ну почему же? JavaScript имеет в своем наборе: основные типы данных (строка, число, дата, регулярное выражение, массивы), циклы, функции, классы, делегаты. Также при включении фантазии в нем появляется: наследование, полиморфизм, инкапсуляция (модификаторы доступа), события, многопоточность. По-моему, JavaScript вполне полноценный язык.
JavaScript - процедурно-ориентированный язык программирования. Скорее JavaScript - объектно ориентированный язык программирования с прототипно-ориентированной парадигмой. Другими словами понятия класс в JavaScript нет, но его функциональность реализовывается синтаксисом функции. Сложно звучит, но на примере все просто и наглядно (один из вариантов написания):
// Описание класса var Order = function(){ // Приватное поле var state = null; // Публичное поле this.Description = ""; // Публичный метод this.Deliver = function(){ state = "Delivering"; }; }; // Использование класса var myOrder = new Order(); myOrder.Description = "Бубен"; myOrder.Deliver();Поначалу смотрится непривычно особенно избалованным C#-ом программистам, но после написания пару десятка классов, все становиться на свои места.
JavaScript - родной язык для веба. JavaScript имеет одну из самых высоких степеней проницаемости, а это практически любой современный браузер.
Исходя из этого человек знающий JavaScript сможет написать клиент-серверное бизнес-приложение. При этом используя на клиенте нативную поддержку JavaScript браузером, а на сервере быстрый веб-сервер на javascript движке V8 - nodejs (раз, два). А изюминка - это повторное использование кода на сервере и на клиенте и все это бесплатно. Не нужно тратить деньги на дорогую: Visual Studio, Windows Server, SQL Server. Не нужно учить дополнительные языки: C#, ASP.NET, PHP и т.д. Не нужно зависеть от установленного клиентом плагина на подобии Flash/Silverlight. Вот отличная статья по обустройстве рабочего пространства для JavaScript программиста.
Капля дёгтя в бочке мёда. Для создания/написания пользовательского интерфейса (GUI) нам понадобиться HTML и CSS. Здесь одним JavaScript'ом не обойтись. Но я убежден в одном, что это работа скорее для дизайнера, чем для программиста.
Основной конкурент JavaScript. Зная какой другой язык программирования мы сможем создать полноценное клиент-серверное приложение? Возможно Java со своим JavaFX на клиенте, частично C# c клиентским Silverlight.
Комментарии
Отправить комментарий