Сколько языков программирования вам нужно знать?

Крупные компании, такие как Apple, Facebook и Google, разрабатывают свои собственные языки разработки, заставляя разработчиков принять их.


На своей всемирной конференции разработчиков Apple объявила о выпуске нового языка разработки Swift . Это последняя в гонке разработка новых языков крупных технологических компаний, в некоторых случаях для конкретного использования на их платформах.


У Apple есть Swift для разработчиков на iOS, у Facebook есть Hack, базовый язык программирования. Google, тем временем, имеет свою новую запись, Дарт, которая, согласно его пожеланиям, должна заменить Javascript и более общий язык программирования под названием Go.


С другой стороны, стремление к новым языкам увеличивает навыки, которые должны иметь разработчики.

Крупные компании, такие как Apple, Facebook и Google, разрабатывают свои собственные языки разработки, заставляя разработчиков принять их.

ВАВИЛОН ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

 

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

 

Даже крупнейшие технологические компании разрабатывают новые языки, и это будет продолжаться до тех пор, пока они существуют. Первыми были C-язык, родившийся от AT & T Bell Labs и более поздняя Java, теперь основной язык для разработки приложений для Android, появившийся в 90-х годах, созданный Sun Microsystems.

 

Сегодня все по-другому состоит в том, что компании создают новые языки для продвижения конкретных бизнес-целей - процесса, который также создает целую базу разработчиков, которые действительно привязаны к собственной платформе. Подобно стратегии, используемой Sun с Java, в которой компания рекламировала ее как проблему для Microsoft и ее домена на настольных ПК. Дело не в том, что планировалось Sun, однако Java нашел консенсус в корпоративных системах промежуточного программного обеспечения, прежде чем Google примет его для Android.

 

Итак, цель Apple с Swift ясна. Новый язык должен сгладить сложности предыдущего Objective-C при разработке приложений для iOS и Max OS X. Но для этого нужны дополнительные усилия для программистов, которым придется изучать новый язык, который они не смогут использовать в других технологиях.

ПОТОМУ ЧТО КОМПАНИИ ЗАКРЫВАЮТСЯ САМИ ПО СЕБЕ

 

Почему бы не поверить в философию «не изобретать колесо», которая управляет большинством разработчиков? Почему многие компании просто не используют повторно существующие языки для новых целей?

Один ответ прост, некоторые компании делают это, потому что могут. Проектирование нового языка может быть сложным, но не требует специальных ресурсов. Сложная задача заключается в создании поддержки, понимаемой как предоставление ресурсов программного обеспечения (библиотеки общего кода, API, компиляторы, документация и т. Д.) И завоевание сердца и умы разработчиков. Компании организованы для обоих.


Следует также отметить, что существующие языки часто трудно включить в современные рамки. Возьмем, к примеру, решение Facebook создать Hack, расширение языка PHP, обычно используемого в svilippo Web.

Основная цель Facebook с Hack заключалась в повышении надежности кода, в этом случае для улучшения проверки типов до того, как программа была выполнена. Только эти проверки гарантируют, что программа не пытается интерпретировать целое число как строку символов, что может привести к ошибкам, которые трудно идентифицировать. С помощью Hack эти проверки выполняются заранее, поэтому программист может исправить, прежде чем освобождать код.


По словам Юлиана Верлагета, разработчика ядра Hack, компания сначала искала язык, который гарантировал эффективное программирование. Но многие из Facebook уже прошли обучение на PHP, и компания уже построила хорошую часть платформы на этом языке.


«Предположим, что я лично попытался переписать наш PHP-код в Scala», продолжил Verlaguet: «Это красивый и хорошо продуманный язык, но он не все совместим с PHP. Каждый раз, когда мне нужно было использовать PHP из письменной части У меня были очевидные проблемы с производительностью в Scala.Мы хотели бы использовать существующий язык, но для нас это был не жизнеспособный путь ».


В конце концов, Facebook создал Hack, который имеет достаточно общего с PHP и позволяет ему совместно использовать существующую инфраструктуру компании. Большая часть кода Facebook была перенесена с PHP на Hack, сказал Verlaguet. Затем Facebook решил опубликовать источники в версии с открытым исходным кодом в надежде, что независимые разработчики будут использовать его за пределами Facebook.


«Вы все еще можете использовать PHP», - сказал он. «Но мы надеемся, что вы захотите использовать Hack»

КТО ДЕРЖИТ КОНТРОЛЬ

 

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

 

Компании нередко способствуют развитию языка над другими. Например, вы захотите использовать Objective-C для разработки приложений iOS и Java для приложений Android. Это никогда не было обязательным шагом для разработчиков, потому что Objective-C и Java являются объектно-ориентированными языками для общих разработок.

 

Однако Hack, Dart, Go и Swift оказались полезными только для программных решений, связанных с проприетарными компаниями, как правило, в сочетании с средой разработки, выбранной самой компанией.

Дело не в том, что разработчики не могут узнать больше языков. Многие уже это делают. Как и в разговорной речи, легкость в изучении языков может зависеть от того, что уже известно. Изучение испанского языка было бы проще для итальянца, чем англичанина. То же самое относится к языкам программирования. Если вы уже знаете Java, будет проще изучить Ruby или Perl. Если вы знаете PHP, вам будет легче изучить Hack.

Многое зависит от ваших потребностей, если Java позволяет мне решать мои проблемы с разработкой, у меня не будет стимула изучать Ruby. Если вы счастливы программировать на iOS с помощью Objective-C, вы, вероятно, вряд ли соблазнитесь Swift.

 

Для некоторых разработчиков наличие языка, специфичного для платформы, только усложняет ситуацию. Например, Джек Уотсон-Хэмблин, дизайнер-фрилансер, считает, что такие инициативы, как Apple Swift, перегружают программистов и создают чрезмерную фрагментацию в сообществах разработчиков: «Для программистов важно знать разные языки, но заставлять их изучать новые, а не это имеет смысл: если я создаю многоплатформенное приложение, я не хочу знать четыре разных языка, чтобы это сделать ».

Ватсон-Хэмблин утверждает, что, когда каждая компания создает свой собственный язык для своих собственных нужд, это замедляет процесс и дезориентирует внимание программистов, а затем создает монолитный взгляд на развитие на этом языке.

 

Конечно, у Apple есть много веских причин начинать с нуля с Swift, как это сделал Facebook, когда он изобрел Hack. Это не означает, что это не заставит программистов меняться, но для некоторых Swift это, безусловно, не приветствуется.

 

«Когда изобретаются новые языки, собственнические компании приобретают большую гегемонию», - говорит Верлагет. «Это может разочаровать, чтобы оставаться в курсе последних событий, но, с другой стороны, вы будете счастливы использовать новый язык, который наилучшим образом соответствует вашим потребностям». Представьте себе, что мир, где программисты используют один и тот же язык для всего. все плохо, но ничего отличного ».