где пишут код программисты
Лучший язык программирования
Вопрос, который часто задают начинающие программисты — какой язык программирования изучать? Вопрос звучит разумно. Хочется выбрать самый лучший, чтобы потом не пришлось переучиваться.
Можно ли на него ответить?
Я работаю программистом тридцать лет. За эти годы индустрия несколько раз претерпевала кардинальные изменения. У меня были любимые языки, но ни один из них не стал единственным выбором на долгое время. И дело не в том, что я меняю языки, как перчатки. Меняется сама жизнь.
В конце 90-х я писал на С++ и присматривался к вебу. Писать веб-приложения на C++ было безумием. Тогда не было ни Python, ни Ruby, ни C#, и даже PHP был в зачаточном состоянии. Свои первые программы для веба я написал на Perl. Сейчас проект на Perl назовут глубоко и безоговорочно устаревшим.
Все тридцать лет мне постоянно приходится изучать новые языки программирования. Причиной тому не только любознательность, но и банальная жизненная необходимость. Сегодня востребованы программисты на Python, Go, C#, Java. То, что я знаю язык Ассемблера и Delphi, не помогает мне найти интересную высокооплачиваемую работу. В индустрии ходят слухи о баснословных зарплатах программистов на COBOL. Не знаю. Не уверен. Программисты на Go сейчас гораздо нужнее.
Если постоянно приходится учить новые языки, значит, лучшего языка в принципе не существует. Что же тогда делать начинающему программисту?
Ответ — научиться быстро осваивать новые языки. Чтобы проиллюстрировать эту мысль, расскажу историю из жизни. Обычно изучение нового языка занимает несколько дней, иногда недель, но C# я выучил за двадцать минут.
Я много лет писал на C++, потом неплохо освоил Java и, оказалось, что все основные концепции C# были мне знакомы. Знатокам C# напомню, что речь идёт про 2003 год, когда в языке не было ни LINQ, ни async/await, ни даже обобщённого программирования.
Я открыл MSDN, прочитал несколько страниц, и написал первый код, который сразу ушёл в прод. Конечно, я не знал язык полностью — пара моментов потребовала дополнительного освоения. В частности, новой для меня оказалась концепция делегатов. В C++ и Java есть свои способы, чтобы работать с указателями на функцию, а в C# для этого придумали новое средство языка.
Потребовалось время, чтобы уложить в голове всё, что связано с новинкой, в частности, чтобы понять, чем делегаты отличаются от событий. Но, даже не владея этими аспектами языка, я уже писал рабочий код.
Языки программирования похожи друг на друга. Они образуют целые семейства с общими идеями, а иногда даже и общим синтаксисом. Скажем, C++, Java и C# очень похожи друг на друга не только концептуально, но и синтаксически.
Зная один язык из семейства, вы быстро начнёте писать на родственном языке, даже если у него будет непохожий синтаксис. В этом ключ к быстрому изучению языков.
Освойте несколько языков из кардинально разных семейств, и вам будут знакомы большинство концепций, встречающихся в современных языках программирования.
Семейства языков
Мы ступаем на нетвёрдую почву классификаций. Что бы я ни написал, найдётся читатель, не согласный с предложенными критериями. Я, тем не менее, попробую, и начну с общепризнанных устоявшихся способов разделить языки на группы.
Исторически, самая ранняя классификация касается первых языков программирования высокого уровня — Fortran и LISP. Первый из них был императивным, то есть состоял из императивов. Слово императив в русском языке используют редко, нам привычнее слово команда. Программа на императивном языке программирования — это последовательность команд, которые выполняет компьютер.
Второй — LISP — положил начало функциональным языкам. Вместо команд здесь используют примитивные чистые функции, которые комбинируют в чуть более крупные функции, а те, в свою очередь — в ещё более крупные. В конечном счёте, программа на функциональном языке — это одна большая функция, которую компьютер и вычисляет.
К императивным языкам, помимо Fortran, можно отнести Pascal, C, C++, Java, C#, Python, Go. К функциональным — Haskell, Scala, Erlang, Clojure, Scheme, F#.
В этой классификации есть изъяны. Во-первых, не все согласны с простым определением функциональных языков. Некоторые специалисты считают, что истинно функциональными можно считать только чистые функциональные языки. Из известных это, фактически, только Haskell.
Во-вторых, современные языки поддерживают сразу несколько парадигм. Лямбда-функции, являющиеся основой основ функциональных языков, сейчас можно встретить во многих императивных языках, включая C++.
Несмотря на недостатки классификации, я рекомендую следовать первоначальному плану. Возьмите пару императивных языков и пару функциональных, и напишите на них несколько небольших программ. Будет здорово, если вы выберете языки с разным синтаксисом.
Незнакомый синтаксис заставляет считать новые языки непонятными. Но в действительности, к нему можно привыкнуть всего за несколько дней. Незнакомые концепции могут оказаться гораздо сложнее.
В императивных языках долгое время существовало разделение на код и данные, при этом код управлял данными. Языки такого рода сейчас называют процедурными, к ним, например, относят Fortran, Pascal и C.
В противовес им, в объектно-ориентированных языках программист размещает код и данные вместе, и называет объектом. К таким языкам относят C++, Object Pascal, Java, C#, JavaScript.
Существуют ли объектно-ориентированные функциональные языки? Да, конечно. Обычно разработчики языка совмещают несколько разных парадигм, что, кстати, значительно облегчает нашу задачу, а именно, освоение разных концепций. И если Pascal — императивный и процедурный, то OCaml — функциональный и объекто-ориентированный.
Языки также классифицируют по тому, как они работают с типами данных. Разделяют статически типизированные и динамически типизированные языки, а также языки с сильной и слабой типизацией.
Динамически типизированные языки часто используют для разработки небольших программ — скриптов или сценариев. Они просты в изучении, нетребовательны к квалификации программиста и обычно позволяют писать короткий код. К ним относят JavaScript, Python, PHP, Ruby.
Статически типизированные языки проверяют соответствие типов данных, поэтому программисту приходится описывать объекты, которые он использует. Это касается и переменных, и функций, и даже самих типов. Программы на таких языках обычно больше по размеру, поскольку, в определённом смысле, дублирование помогает справляться с опечатками и другими простыми ошибками. В этой категории мы обнаружим C++, Java, C#, Kotlin, Go.
Ещё один признанный способ классификации — разделение языков на низкоуровневые и высокоуровневые. Языки низкого уровня используют в системном программировании и разработке игр, то есть там, где требуется высокая производительность кода и экономия ресурсов. К ним относят C, C++, Rust и, в какой-то мере, Go.
Языки высокого уровня повышают производительность программиста. Ему не приходится распределять память или вручную обрабатывать строки, он занимается решением бизнес-задач. В категорию высокоуровневых входят Java, C#, Scala, Python, Ruby.
Если языку программирования не хватает скорости, часть программы пишут на низкоуровневом языке и вызывают этот быстрый код из языка высокого уровня. Подобное смешение возможно за счёт техник, которые в целом называют Foreign Function Interface (FFI), или Интерфейс Внешних Функций.
Наконец, языки бывают универсальные и нишевые. Это условное разделение, поскольку нишевые языки практически не похожи друг на друга. Просто надо помнить, что для работы с базами данных придётся учить SQL, для разработки фронтенда — JavaScript, а для проектирования iOS приложений — Swift.
Фундамент
Помимо лингвистических знаний в быстро меняющемся мире важны знания фундаментальные. Те, что не потеряют своей актуальности и через десять лет, и через двадцать.
Очевидная база для программистов — алгоритмы и структуры данных. Она вызывает серьёзные споры, потому что у многих программистов эти знания зачастую не востребованы. Как говорят в интернет-баталиях, чтобы пилить круды, алгоритмы не нужны. И в этом есть доля истины.
Но здесь полезно вспомнить историю. Двадцать лет назад круды пилили не на Python, а на Delphi. Бекенд писали на Perl. За свою карьеру, хотите вы этого или нет, вы несколько раз поменяете стек. И, возможно, единственное, что вам не придётся изучать на новых платформах — это фундамент.
Время от времени вам будут попадаться алгоритмические задачи. Полезно иметь представление об алгоритмах, чтобы писать быстрый код. Тем более, что разбираться с темой придётся только единожды.
Не языками едиными
Кроме языков программирования, нам нужны инструменты и методологии. Где бы вы ни работали, вам наверняка пригодится git. Даже если вы не работаете в команде, заведите аккаунт на GitHub и держите там домашние проекты.
Разберитесь с непрерывной интеграцией и развёртыванием — CI/CD. Настройте автоматическую сборку своих проектов.
Научитесь писать модульные тесты. Сделайте тестирование одним из этапов сборки, чтобы ваш проект собирался только в случае, если проходят все тесты.
Доведите знание английского до уровня B2 — Upper Intermediate. Этого достаточно, чтобы воспринимать английскую речь на слух, общаться с носителями языка и писать письма.
Я учил английский в школе. Мне хватало его, чтобы читать документацию и немного писать. Но сейчас, во времена YouTube, новые знаниях приходят к нам через видео лекции и доклады. Приходится доучивать английский, чтобы не перекрывать себе этот важнейший канал.
Заключение
Что можно сказать про индустрию, проработав в ней тридцать лет? Технологии умирают, и умирают быстро. Больше нет dBASE и Clarion, и даже названия эти современным программистам неведомы. Священная война между Pascal и C, которая шла все восьмидесятые, как-то обыденно закончилась победой C. Но сейчас это никого не волнует — что нам Pascal и C, когда мы пишем на Java?
Мы учимся, зная, что 90% новых знаний устареют уже через три года. Возможно, нам надо освоить ещё два навыка.
Умение забывать. И умение не учить всё подряд, особенно если это всё очень модное и современное. Никто не знает, какой срок отмерен модным технологиям. Будьте избирательны.
Выбор среды разработки для программирования
Сейчас программирование — популярное занятие для многих пользователей, которое в будущем может перерасти в высокооплачиваемую профессию. Каждый человек, приходя в эту область, сначала выбирает язык, на котором он хочет создавать приложения, а затем подбирает среду разработки для написания кода. О правилах подбора оптимального языка для обучения мы уже рассказывали в одной из наших статей на сайте, а вот про софт для написания кода речь еще не шла. Сегодня мы хотим остановиться на этом и рассмотреть несколько самых популярных инструментов, обращая внимания на их достоинства и недостатки.
Сейчас Python занимает третье место в мире по популярности среди всех существующих языков программирования, а также многие отмечают его постоянный рост, что в будущем может привести к тому, что Питон выбьется в лидеры и миллионы пользователей сразу же начнут его изучать. Именно поэтому мы и решили сначала остановиться на узконаправленных вариантах, взяв в качестве примера IDLE. Это интегрированная среда разработки, которую вы получаете на свой компьютер вместе со всеми остальными файлами Python при скачивании с официального сайта. По своему внешнему виду, как вы можете видеть на приведенном ниже скриншоте, IDLE не особо отличается от обычного текстового редактора за исключением подсветки синтаксиса, однако функциональности здесь вполне хватит для того, чтобы не только начать учить Python, но и создавать полноценные программы, ограничившись лишь этим решением.
Данная интегрированная среда разработки выполняет все те опции, которые присущи стандартным представителям подобного софта. Сюда относится чтение, редактирование и запуск кода. Вы уже знаете, что синтаксис здесь подсвечивается, но не видите консоли, которая бы позволяла просматривать состояние программы и получать уведомления об ошибках. Дело в том, что Shell здесь запускается при выполнении модуля в качестве отдельного окна. Там выполняется указанный код, а если появляются какие-то проблемы, вы будете уведомлены о них в точности до неправильной строки. При обучении в IDLE советуем обратить внимание на количество горячих клавиш. Если собираетесь остановиться на этой среде разработки, лучше сразу начать их учить, чтобы в будущем упростить процесс взаимодействия с параметрами.
PyCharm
В качестве альтернативы стандартному решению следует упомянуть обширный инструмент под названием PyCharm. Его создала известная многим программистам компания JetBrains. Вся функциональность здесь сосредоточена именно на профессиональном написании кода, а дополнительные опции, аналоги которых редко встречаются в другом ПО, нацелены на то, чтобы сделать процесс написания приложений максимально продуктивным. Самая очевидная вещь, которая помогает воплотить эту задумку — умный редактор. При вводе символов он автоматически понимает, какой аргумент вы хотите вызвать или какую переменную из уже добавленных присвоить. Ошибки так же определяются автоматически, поэтому большинство проблем могут быть исправлены еще до запуска написанного кода.
Из вспомогательных опций еще отметим встроенный поиск по файлам, классам или отдельным символам, что позволит быстро отыскать необходимый фрагмент или переместиться в подходящую директорию. Сразу после инсталляции PyCharm вы получаете множество полезных функций для разработчиков, куда относятся инструменты отладки, тестирования и профилирования, а также имеются отдельные опции для работы с базами данных (Oracle, SQL Server, PostgreSQL, MySQL и другие). Если вы используете Python для веб-разработки, это программное обеспечение позволит взаимодействовать с веб-фреймворками, JavaScript и HTML. Научные вычисления здесь тоже проводятся благодаря интерактивной консоли, поддержке соответствующих библиотек и интеграции с Conda. Если вы ищете для себя профессиональное решение и планируете использовать его долгие годы программирования на Python, PyCharm — точно тот вариант, на котором следует остановиться для более подробного изучения.
Visual Studio
Компания Microsoft заинтересована в том, чтобы пользователи создавали программы для их операционных систем, задействовав в этом язык программирования C++. Специально для таких целей они создали бесплатную среду разработки под названием Visual Studio. Именно ее чаще всего рекомендуют использовать новичкам, как отличный интерпретатор при изучении C++. Однако Visual Studio еще поддерживает JavaScript, C#, Python и другие популярные ЯП. Особенные инструменты разработки делают это решение идеальным для новичков. Возьмем за пример опцию загорающейся лампочки. Она иногда появляется в тех строках, которые можно оптимизировать. Кликните по ней, чтобы узнать, что лучше поменять для оптимальной читаемости кода и его оптимизации. Конечно, исправление ошибок и автозаполнение строк при написании здесь тоже присутствует.
Для анализа имеющейся информации в рассматриваемом программном обеспечении используется инструмент CodeLens. Он предоставляет важные аналитические сведения, например, отображает внесенные изменения и последствия тестирования отдельных модулей. Отладка кода Visual Studio может происходить прямо во время его выполнения. При обнаружении ошибки будет предложено приостановить процесс, чтобы вы могли изменить состояние строк, а после выполнение будет продолжено с этого же момента, что избавит вас от надобности постоянно перезагружать используемый модуль. Новичкам будет крайне полезна функция тестирования в реальном времени. Ее можно применять как к отдельным строкам сразу после их написания, так и к выделенным фрагментам. Это поможет быстро узнать, что происходит во время интерпретации этой строки и как влияет на весь остальной процесс. Однако важным будет отметить, что из-за перенасыщенности интерфейса и сложной реализации определенных параметров новичку может быть трудно освоить это ПО, что приведет к надобности изучения соответствующих уроков.
Android Studio
Android Studio — официальная среда разработки от создателей Android, которая предназначена для написания приложений под эту операционную систему. В этом ПО код пишется на языке Java, поскольку он является официальным ЯП для Android, или же можно использовать Kotlin, C или C++ в качестве дополнительных модулей. В Android Studio, как и в других профессиональных интерпретаторах, редактор имеет интеллектуальный режим, заранее просчитывающий слово, которое вы хотите написать. Весь синтаксис подсвечивается, а его цвет может быть настроен через параметры. Дополнительно в редакторе имеется визуальный редактор макетов. С помощью него осуществляется представление определенных объектов или блоков текста на экранах с разным разрешением.
Все свои проекты тестируйте без использования физических устройств. В стандартный набор инструментов Android Studio входит эмулятор, позволяющий намного быстрее запустить и проверить приложение, чем это было бы сделано на имеющемся смартфоне. Любой APK-файл доступен для проверки через специальный анализатор. Он определяет все входящие ресурсы и выбирает, каким образом можно поспособствовать уменьшению размера установщика. Дополнительно приложение проверяется через мониторинг в режиме реального времени, отображающий, какую нагрузку софт оказывает на систему. Android Studio — идеальная многофункциональная программа для тех, кто хочет создавать проекты под Android, используя для этого уже имеющиеся знания работы с Java, Kotlin, C или C++.
IntelliJ IDEA
Выше мы уже рассказали об одном решении от компании JetBrains. Однако оно было нацелено исключительно на использование языка Python. Другая среда разработки от этой компании называется IntelliJ IDEA, и она поддерживает написание кода на многих языках. Самыми популярными из них являются Java, JavaScript, Python, Ruby, Groovy, Scala, PHP, C и C++. Мы уже говорили об интеллектуальном редактировании, проверке в реальном времени и оптимизации кода прямо при его написании. Сейчас не будем на этом останавливаться, скажем лишь, что в IntelliJ IDEA это все присутствует и функционирует должным образом. Отметим только то, что разработчики считают уникальной опцию умного автодополнения. Ее алгоритм работы отталкивается не от общих принципов, а подстраивается под контекст.
Если вы часто выполняете какую-либо функцию в IntelliJ IDEA, умный помощник предложит ее автоматизировать, чтобы вы перешли к другим задачам. Подобная опция будет максимально полезной в тех ситуациях, когда часто приходится набирать один и тот же фрагмент кода. Если данное программное обеспечение позиционируется как производительное в плане разработки, как раз из-за тех функций, о которых мы уже рассказывали выше, то главный недостаток IntelliJ IDEA — длительная обработка операций и скорость загрузки. С каждым новым обновлением разработчики делают акцент на том, что улучшили производительность, но пока она еще далека от идеала, поэтому некоторых юзеров не устраивает такое положение вещей и они предпочитают поискать аналог этому инструменту, остановившись на более быстрых решениях.
Eclipse
Eclipse — еще одна популярная среда разработки, которая понравилась множеству пользователей из-за огромного количества подключаемых модулей. Изначально Eclipse была предназначена для написания кода под Java, а со временем вышло много внешних модулей, которые и позволили реализовать программирование, основываясь на других языках. Сейчас вы без проблем сможете подключить необходимое количество плагинов, вспомогательных не только при написании кода, но и для расширения общей функциональности программного обеспечения. Именно эта важная особенность делает Eclipse такой привлекательной для определенного круга юзеров. Конечно, все стандартные возможности, о которых мы уже упоминали при обзоре предыдущих сред разработки, в этом решении тоже присутствуют, работая по идентичному алгоритму.
Eclipse — полностью бесплатный инструмент, поскольку является открытым, и каждый желающий может принять участие в разработке. Это и стало одним из главных недостатков программного обеспечения, поскольку постоянно им занимаются разные группы лиц, а как таковая полноценная стабильная команда отсутствует. Многих не устраивает и нехватка документации, поскольку большая часть материалов, расположенных на официальном сайте, базируется только на начинающих программистов. В остальном же Eclipse прекрасно справляется со своими главными задачами и предоставляет юзеру комфортные условия для написания любых приложений или других проектов, где используются языки программирования.
Netbeans
Далее речь пойдет о ПО под названием Netbeans. Это бесплатное программное обеспечение, позволяющее писать приложения на языках Java, JavaScript, Python, PHP, C, C++ и даже Ада. Здесь присутствует множество подключаемых плагинов, каждый из которых настраивается пользователем индивидуально, а также поддерживаются мощные инструменты для JavaScript, HTML5 и CSS3. Самые стандартные функции, например, быстрое редактирование кода или подсветка ошибок в реальном времени, тоже присутствуют в Netbeans. Дополнительно кому-то может показаться полезным и кросс-платформенность. Ничего не помешает установить этот софт на Linux, Windows или Mac OS. Настраиваемый интерфейс также считается важной составляющей для определенных категорий пользователей.
Из недостатков можно отметить низкое быстродействие, что в первую очередь связано с реализацией огромного количества функций, плагинов и различных параметров в одной оболочке. Чем больше всего включено и настроено, тем дольше придется ждать загрузки и выполнения операций. Следующий минус Netbeans относится к плагинам. Да, их здесь много, но это не всегда хорошо. Некоторые из них обладают крайне минимальным набором полезных опций, что делает такие дополнения практически ненужными. Почти все эти модули относятся к части разработки приложений под Android. Распространяется Netbeans бесплатно, но русский интерфейс отсутствует, поэтому придется изучать пункты меню и документацию на английском. Перейдите по указанной ниже ссылке, чтобы ознакомиться со всеми материалами по этому решению на официальном сайте.
Komodo
Пользователи, только начавшие свой путь в программировании, могли не слышать о среде разработки под названием Komodo. Однако сейчас она является одной из популярнейших программ и предоставляет юзеру множество разнообразных опций. Начнем с поддерживаемых ЯП, и к ним относятся: SS, Go, JavaScript, HTML, NodeJS, Perl, PHP, Python, Ruby, Tcl и другие. Сразу после инсталляции Komodo юзер может перейти к настройке интерфейса. Это ПО разделено на несколько окон, и каждое из них настраиваемое. Все они трансформируются, перемещаются, закрепляются или вовсе скрываются, если наличие определенного блока не нужно. Конечно, как и в любой современной среде разработки, в Komodo имеется ряд вспомогательных опций, например, подсветка ошибок с проверкой в реальном времени или предложения по автозаполнению. Сейчас это наиболее необходимые функции, которые активно задействуют как новички, так и профессионалы.
Рассматриваемое программное обеспечение поддерживает графическую отладку для языков NodeJS, Perl, PHP, Python, Ruby и Tcl, а также позволит реализовать развертывание в облаке благодаря Stackato PaaS. Имеются и дополнительные подключаемые плагины, каждый из них активируется или скачивается из интернета только на личное усмотрение. Во встроенной библиотеке можно отыскать вспомогательные модули на любой вкус. Главный недостаток Komodo — платное распространение. Мы рекомендуем сначала изучить демонстрационную версию, которая будет активна на протяжении трех недель. Этого времени вполне хватит для того, чтобы понять, стоит ли вкладывать свои средства в эту среду разработки и способна ли она предоставить весь необходимый набор функций, чтобы создание кода проходило в максимально комфортных условиях.
RubyMine
Выше мы уже говорили о целых двух продуктах от компании JetBrains, но они не ограничиваются в количестве выпускаемых инструментов и предлагают пользователям скачать еще и RubyMine. Из названия этого софта уже понятно, что основной упор здесь был сделан на разработку приложений или скриптов на Ruby, однако при детальном изучении становится понятно, что это ПО совместимо и с многими другими языками программирования (CoffeeScript, CSS, HAML, HTML, JavaScript, LESS, Ruby и Rails, SASS). Важная деталь, которую точно нужно упомянуть при обзоре RubyMine — возможность разработки под iOS. Это достаточно необычная особенность, поскольку часто JetBrains не уделяют должного внимания данной операционной системе.
Помимо основных функций, которые присутствуют во всех продуктах от упомянутой компании, в RubyMine встроены отладчики, позволяющие взаимодействовать с JavaScript, CoffeeScript и Ruby. Поддерживается и интеграция с CVS, Git, Mercurial, Perforce и Subversion. Все проекты, создаваемые в этой среде, имеют древовидное строение с возможностью произведения быстрого анализа. Если вы собираетесь разрабатывать решения с GUI, внимательно прочтите общую документацию этого ПО, поскольку многие жалуются на недостаточное количество полезных инструментов, позволяющих реализовать графический интерфейс. Еще для стабильной работы RubyMine потребуется не менее 4 гигабайт оперативной памяти, а сам инструмент распространяется платно, но с пробной бесплатной версией сроком на месяц, которую обязательно следует скачать и протестировать перед покупкой.
Xcode
Ранее мы уточнили, что в RubyMine имеются инструменты для разработки под iOS. Если вы внимательно прочитали все предыдущие обзоры, то могли заметить, что подобные возможности не предоставляла ни одна из упомянутых программ, поэтому сейчас мы предлагаем ознакомиться с Xcode. Это идеальное решение для тех, кто заинтересован в создании приложений под iPad, iPhone и Mac. Отчасти на простоту разработки влияет интеграция с Cocoa Touch, а к списку поддерживаемых языков относятся AppleScript, C, C++, Java и Objective-C. Дополнительно в это программное обеспечение встроен любимый многими компилятор Apple LLVM. Он позволяет не только быстро запустить код, но и выводит подсказки, относящиеся к наиболее подходящим методам решения проблем, если они присутствуют. Однако можно обойтись и без запуска компиляции, поскольку Test Navigator проверяет работоспособность кода в реальном времени и отображает на экране ошибки при их обнаружении.
Имеется в Xcode и множество вспомогательных функций, например, журнал версий, который сохраняет файлы и отображает хронологию, а также Interface Builder, использующийся для создания стандартных шаблонов без надобности написания кода. При знакомстве с Xcode важно учитывать совместимость этого ПО только с устройствами от компании Apple. Если же вы собираетесь публиковать готовые проекты в официальном магазине, потребуется приобретать лицензию разработчика. Больше значительных недостатков в Xcode нет, поэтому эту среду можно по праву считать одной из лучших для разработки под iPad, iPhone и Mac.
PhoneGap
PhoneGap — последний инструмент, о котором мы хотим поговорить сегодня. Его особенность заключается в том, что для создания приложений вам не обязательно знать родной язык программирования, поскольку реализовано управление в виде вызовов стандартных скриптов, входящих в состав ОС, для которой и пишется код. Все управление PhoneGap осуществляется через JavaScript в связке с HTML5 и CSS3, но присутствует возможность вызвать нативный код для его чтения и редактирования.
Из названия PhoneGap уже понятно, что подойдет это решение только мобильным разработчикам. Дополнительно отметим ограниченную функциональность, что вызвано спецификой самого инструмента. PhoneGap не пользуется огромной популярностью как раз из-за узкой специализации и вряд ли когда-то послужит полноценной IDE, поскольку созданные здесь приложения не считаются таковыми из-за преобразования в WEB. Мы настоятельно рекомендуем прочесть документацию PhoneGap и узнать подробно обо всех функциях, если вас заинтересовало это решение в качестве удобного и небольшого ПО для разработки под Android.
Мы постарались рассказать о наиболее популярных решениях для написания кода на компьютере. Как видите, каждый пользователь, предпочитающий определенный язык программирования, сможет найти оптимальное для себя решение и задействовать его в качестве основной среды разработки.
Помимо этой статьи, на сайте еще 12393 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.