Историческое программное обеспечение, которое произвело революцию в разработке приложений с графическим интерфейсом на языке C++
Американская компания Embarcadero Technologies отметила 25-летие выпуска интегрированной среды разработки C++Builder и открыла веб-сайт, посвященный ее истории. Первый выпуск, C++Builder 1, отныне доступен для бесплатной загрузки.
C++Builder — это инструмент быстрой разработки приложений (RAD), разработанный ставшей уже легендарной компанией Borland, специализирующейся на компиляторах.
В то время у Borland были отличные компиляторы C++, такие как «Turbo C» и «Turbo C++», но библиотеки и инструменты для создания пользовательских интерфейсов были устаревшими, и это было слабым местом. С другой стороны, «Delphi», позволяющая пользователям элегантно создавать пользовательские интерфейсы, просто вставляя компоненты в формы, и эффективно разрабатывать приложения, используя передовые парадигмы, такие как свойства событий, была очень высоко оценена, но ее язык разработки был относительно слабым. Определенное количество разработчиков избегали им пользоваться из-за применения языка Object Pascal.
Поэтому C++Builder был создан путем объединения лучших аспектов Turbo C, Turbo C++ и Delphi. В дополнение к VCL, библиотеке пользовательского интерфейса для Windows, C++Builder недавно был выпущен как кросс-платформенный инструмент разработки приложений. Наблюдается постоянный прогресс, включая поддержку фреймворка FireMonkey. В настоящее время последней версией является C++Builder 11, которая была выпущена в прошлом году.
Интегрированная среда разработки RAD Studio 11 Alexandria доступна для покупки — она поддерживает Windows 11, Apple M1 и т.д.
C++Builder 1, который теперь доступен бесплатно, был первым релизом, который впервые появился в продаже 26 февраля 1997 года. Эта среда программирования требует версию Windows от «Windows 95» до «Windows ME», поэтому существует не так много операционных систем, в которых ее можно использовать, но это ценное историческое программное наследие.
Пользователи сайта Quora поделились своим мнением, какие последние тенденции сейчас актуальны в сфере информационных технологий.
Риккардо Новиелло
Многие компании для своих разработок используют решения, основанные на облачных технологиях, таких как AWS или Azure. В этом случае архитектура ПО становится более предметно-ориентированной, позволяя взять максимум от таких платформ.
Быстрое прототипирование начинает играть все более важную роль, ведь с его помощью можно в ускоренные сроки выполнять разработку, при этом, увеличение скорости не будет сказываться на работе приложения. Поэтому, я считаю, что в ближайшее время мы увидим сдвиг в сторону использования систем с сочетанием различных языков программирования (к примеру, Python, Java и JavaScript). В этом случае может быть проведена замена отдельных компонентов системы, при этом замена никак не повлияет на работу всей системы в целом.
Будучи напрямую связанной с ранее указанными пунктами, особое значение принимает контейнеризация – технология, которая позволяет упаковывать приложение в образ контейнера. В будущем этот контейнер может быть развернут без каких-либо изменений в различных средах.
Кроме того, становится все более популярным Event Sourcing, с помощью которого изменения в состоянии приложения могут быть сохранены как последовательность действий. При этом каждое отдельное событие может быть в любой момент воспроизведено по запросу.
Безопасность также до сих пор является одной из ключевых проблем для компаний – в первую очередь, эти проблемы связаны с утечкой данных в мировую сеть. Все большее количество компаний начинают вести разработку своих продуктов, учитывая уязвимости из списка OWASP (Open Web Application Security Project). Те же компании, которые продолжают его игнорировать, подвергаются угрозе вредоносных атак и могут пострадать от утечки важной информации. Все это также напрямую связано с Защитой пользовательских данных – еще одной крайне важной темой, которую стоит иметь в виду.
В сфере тестирования особую роль играет Визуальное Тестирование. Это связано с многообразием девайсов с различными размерами экранов – от ноутбуков и смартфоном до широкоформатных экранов.
Искусственный интеллект начинает находить применение почти во всех сферах нашей жизни, в том числе, в визуальном тестировании. Модульное программирование проникает почти во все языки программирования (посмотрите хотя бы на JavaScript ES6 или Java 9). Кроссплатформенные мобильные приложения: данная тема не нова, однако за время своего существования разработки в этой сфере достигли достаточного уровня зрелости. Поэтому многие начинают отдавать предпочтение именно варианту с кросс-платформенными, а не нативными мобильными приложениями. CI-инструменты (инструменты непрерывной интеграции). В наши дни существует огромный выбор инструментов для непрерывной интеграции – вне зависимости от того, с каким языком программирования вы работаете.
Нельзя не упомянуть блокчейн – он все еще у всех на слуху.
Марк Такакс, консультант в сфере технологий, наставник
Проанализировав Stackoverflow и те вопросы и задачи, которые там появлялись в последнее время, я выделил следующие тенденции:
На сегодняшний день в сфере технологий доминируют корпоративные приложения, веб-приложения и мобильные приложения. Javascript, Java и C# — вот главные языки.
Python – самый быстро развивающийся и завоевывающий популярность язык. Его рост можно легко объяснить ажиотажем, царящим вокруг науки о данных, а также программ для статистического анализа и машинного обучения.
Разработки как на Android, так и на iOS идут стандартными по своей скорости темпами.
Excel, Python, R и SQL – вот главные инструменты для работы с наукой о данных.
Angular, React и Vue царят на рынке разработки нативных приложений.
Если вы ищете новые перспективные инструменты с впечатляющим потенциалом, тогда обратите внимание на Kotlin, Firebase, Flutter, nest.js и Next.js.
Tensorflow стал ключевым фреймворком для машинного обучения.
Обязательно добавьте Docker и Kubernetes в список освоенных технологий.
ТонидеАраё
Главными языками программирования в этом году можно назвать Python, TypeScript и Go.
В прошлом году Python стал выбором года по мнению членов жюри Института инженеров электротехники и электроники (IEEE). TypeScript считается третьим по перспективности языком среди существующих языков программирования.
Go в прошлом году впервые вошел в список Топ 10 от Института инженеров электротехники и электроники. В соответствии с данным рейтингом, он занимает пятое место в списке наиболее быстро набирающих популярность языков программирования. В GitHub этот язык занимает 7 место в аналогичном рейтинге.
Восемь лет прошло с первой серии уже культового сериала. Вы могли не видеть его вовсе или выучить наизусть, но отрицать влияние на индустрию не сможете. Да и не получится, 17 млн. человек – это старт нового сезона, который поставил абсолютный рекорд.
Мог ли ожидать подобного Джордж Мартин? Не исключено, но автор «Песни Льда и Огня» сам утверждал, что был приятно удивлён. Конечно, огромная заслуга лежит и на съемочной команде. Работа проходила в семи странах и более чем в пятидесяти локациях.
Команда отлично постарались, чтобы семь королевств выглядели эпично и казались далекими от реальности, но настоящие места съемок находятся достаточно близко. Помните сцену битвы на замёрзшем озере? Сейчас мы расскажем, как она снималась.
Масштаб сериала настолько велик, что студийные съёмки перемежались с поездками в Великобританию, Хорватию, Исландию, Испанию, Марокко, Ирландию и на Мальту.
Первый сезон еще не так богат на локации. Съемки проходили преимущественно в Великобритании, так роль Винтерфелла взял на себя замок Доун, а про то, что Дубровник – это Королевская Гавань, знают уже все. Мэр города заявил, что планируется ограничение количества туристов до четырех тысяч, потому что крепость не выдерживает больше восьми.
Именно в Дубровнике проходили самые жестокие политические сцены и скандальный проход обнажённой королевы Серсеи. На площадке в тот момент находилось всего четыре человека, и все они подписали договор о неразглашении.
Новый сезон – новое место действия. Так появился двор в красной крепости, где была потрясающая карта, нарисованная вручную. Джим Стейнс, художник, сделал аллюзию к заставке, используя схожие шрифты и образы. В сериале художник тоже засветился, рисуя эту карту, его прогоняет Джейми Ланнистер.
\
Команда отмечает, что окружающая среда помогала на съемках. Ведь, когда мы видим дрожащих актёров, то все это происходит на самом деле. Север, очевидно, пришелся на Исландию. Все эти бесконечные ледники отлично подошли для похода ночного дозора.
А помните схватку с одичалыми? Эффектные планы, когда мамонты мнут все, что видят, выглядели именно так. Не очень устрашающе, но крайне профессионально.
“Я думал это реальное озеро, а потом понял, что они сделали его для этой сцены” (с) Кристофер Хивью/Тормунд.
\
Для этого сражения был построен сам остров и окружающее его озеро – проведена огромная, сложная работа. Была создана площадь зимнего ландшафта в Бeлфacтe, для который понадобились тоны искусственного снега и невероятное количество краски.
Неважно насколько хороши визуальные эффекты или создатели декораций, нет ничего более впечатляющего, чем натура. Ничто не сравнится с перенесением реальности на экран. Продюсер даже беспокоился, что зрители примут блики на ледниках за дешевые эффекты.
И если вы сейчас подумали, что мы предвзяты и преувеличиваем, то телевизионный эквивалент “Оскара” считает иначе. В прошлом году сериал получил семь наград “Эмми” за креатив и спецэффекты. А конкретно за визуальные эффекты, грим, дизайн костюмов, сведение звука, оригинальную музыку, постановку трюков и работу художника-постановщика.
Что именно сделали с помощью магии монтажа? Помимо целых сцен и дополнения площадки, добавлялись персонажи и окружение. Корабли, плывущие в вольный город Браавос, драконы, для которых еще и огнемет нашли, десятки каскадеров сражались не с ходоками, а с техникой. Кстати, рекордными были не только просмотры, но цифры зеленого экрана – девять метров в высоту и сто двадцать в длину.
Зеленый был не только экран, но и пальцы у Лиама Каннингема, исполнителя роли Давоса Сиворта. Актер носил зеленые накладки, потому что по сюжету лишается всей пятерни. Только постпродакшен позволил не калечить Лиама Каннингема в реальности.
Как бы естественно не выглядели драконы в кадре, а в руках Эмилия Кларк держала все-таки метлу, обтянутую зеленой тканью. Все члены группы отмечали, что, несмотря на комичность происходящего, актриса была до дрожи убедительна в своей роли. Чтобы сфокусировать взгляд, перед ней обычно спускали мяч на веревке.
Врата Драконьего камня, в кадре они появляются на минуту, но на создание декораций ушло куда больше сил и ресурсов. Скульпторы вырезали две гигантские драконьи головы. Похожая история была с черепом Балериона, на который ушло больше двух месяцев. Размеры: 9x5x3 метра.
Чардрево – важная часть сериала. Его каждый год красили в белый цвет, покрывали латексом, делать лепку лица. А еще красные листья, за которые отвечает отдельная команда.
Крайне сложной оказалась реализация зомби-медведя. Помимо того, что продюсеры буквально отбивали идею у команды по эффектам, так еще и много времени ушло на подготовку. Съемочная группа изучала укусы полярных медведей, как они охотятся и расправляются со своими жертвами. Актеры же крепились к тросам и отрабатывали броски на несколько метров .
Так выглядела сцена зажатого в челюстях меча. Зеленый фон давал впечатление охваченного огнем зверя.
Мэтр Голливуда и отец Звездных войн беседовал с актерами и даже приложил руку к постановке одной сцены. И хоть это происходит за кадром, такие мелочи отличают весь производственный процесс «Игры Престолов».
Камеры снимают реакции жителей Винтерфелла, поэтому с массовкой также необходимо работать, чтобы добиться результата от всех. С ними работали военные советники, которые учили массовку чеканить шаг. Хоть режиссер и говорил, что это было не таким обязательным, но «Игра Престолов» не была бы собой, не будь у нее такого внимания к деталям. Консультанты есть по всем вопросам: архитектура, тонкости законотворчества, костюмеры и повара.
Джо Байер, работавший над спецэффектами, долго изучал анатомию и движение хищных птиц и летучих мышей, чтобы экранные драконы выглядели как живые создания.
Но самое технически сложное, красивое и бесконечно совершенствующее зрелище – заставка. Именно! В каждом сезоне меняется ее анимация, добавляются новые земли, одни флаги уступают место другим. Главная идея в том, чтобы зритель ориентировался в географии сериала. Необходимо три месяца и десять человек для новой заставки. Работа была оценена и принесла еще одну премию “Эмми” в общую коллекцию.
Первый сезон – это вызов, а финальный – огромное давление, потому что в одной точке сплетаются все сюжетные линии. Получится ли завершить историю также красиво, как и начать – узнаем совсем скоро.
Android приложения прочно вошли в нашу жизнь. Мы каждый день ими пользуемся: картами, социальными сетями, мессенджерами, браузерами. Но каждый опытный пользователь смартфона на Android хоть раз задумывался о создании своего приложения. Сложился стереотип, что это очень сложно и нужно долго учить программирование, чтобы что-то качественное написать. Однако Google постоянно совершенствует свои инструменты разработки, делая их проще и удобнее. Сегодня мы создадим самое простое приложение для Android и запустим его на смартфоне.
Приложения для Android создаются на языке программирования Java. Сейчас как альтернатива Java продвигается еще и относительно новый более простой язык Kotlin (язык назван в честь острова? на котором расположен город Кронштадт). Наш пример будет на Java.
Сперва мы проверим, установлен ли на вашем компьютере (под управлением Windows) JDK. Java Development Kit – это комплект разработчика приложений от компании Oracle. Без него среда разработки не сможет правильно функционировать.
Для этого нажмите на клавиатуре Win + R. Введите cmd и нажмите Enter. Откроется командная строка. Далее в консоли необходимо набрать:
java -version
Скорее всего, вы увидите версию Java:
Это значит, что у вас уже установлен JDK. В противном случае его необходимо скачать (150 Мб).
После установки JDK переходим к основному инструменту разработки для ОС Android – Android Studio. Загрузить его можно здесь (944 Мб).
Android Studio – это свободно распространяемая среда разработки от Google. Это такой огромный комбайн для разработки приложений, в который вошли различные инструменты для тестирования, сборки приложений, а также шаблоны, удобный редактор макетов и многое другое. Android Studio постоянно обновляется, как и его многочисленные компоненты.
Версии Android Studio есть не только под Windows, но и для Mac OS и Linux. Системные требования для Android Studio: Windows 7/8/10, 3 Гб оперативной памяти минимум, 8 Гб RAM рекомендовано, 4 Гб на жестком диске.
Итак, вы скачали инсталлятор Android Studio.
Запускаем его.
Жмем Next, выбираем путь для установки. Настройки желательно не менять.
Затем запустится мастер настройки Android Studio. Здесь можно выбрать цветовую тему среды разработки, скачать дополнительные файлы. Тип установки выбираем стандартный.
После скачивания необходимых компонентов будет предложено выбрать тип вашего проекта. Выбираем Empty Activity и кликаем Next.
На следующем экране даем название проекту и выбираем, начиная с какой версии Android будет работать ваше приложение. Лучше всего выбрать – c Android 4.0.3 – так наше приложение будет работать на максимальном количестве устройств. Стоит отметить, что Android Studio настолько универсальна, что позволяет создавать приложения не только для смартфонов, но и для смарт-часов и телевизоров!
Далее у нас открывается основное окно Android Studio. Слева мы видим несколько разделов. Это структура нашего проекта. В папке manifests находится файл AndroidManifest.xml, который отвечает за информацию о приложении, импортируемые библиотеки, компоненты и другие параметры. В папке java находится непосредственно код (файл MainActivity в папке com.example.myapplication). В папке res находятся ресурсы приложения – кнопки, файлы, которые определяют дизайн интерфейса (например, activity_main.xml).
Acitivity – это отдельный экран, с которым взаимодействует пользователь. Примеры: экран с фото, набор номера, ввод текста. У нас будет один Acitivity (экран). Поэтому сразу идем по пути app – src – main – res – layout и открываем файл activity_main.xml. Переключаемся в режим Design.
Выбираем раздел Button и перетягиваем его на экран приложения. У нас появилась кнопка. Вводим текст на ней (kv.by).
Чтобы увеличить размер шрифта – переключаемся в режим Text и в коде в разделе Button добавляем такую строчку:
android:textSize=»25sp»
В режиме Design жмем правой кнопкой мыши и выбираем Constrain, далее выбираем все пункты по очереди. Это «привяжет» вашу кнопку, чтобы она не могла сместиться.
Далее редактируем надпись Hello, World – меняем на свою собственную («Мое первое приложение на Android»).
Следующий этап – добавляем картинку. Сначала мы должны ее добавить в проект. Картинка будет к примеру, эта:
Скачайте ее и перетяните прямо в проект в папку res – drawable. Она добавится в проект. Теперь открываем activity_main.xml и переключаемся в режим Design. Выбираем Common – ImageView. Перетягиваем на наш экран. Откроется окно выбора картинки. Переходим в раздел Project. Там видим логотип kv.by. Выбираем его и помещаем в середине окна нашего приложения. На картинке также применяем Constrain.
В итоге у вас должен получится такой код activity_main.xml:
Мы создаем виртуальное устройство (смартфон) под управлением Android. Выбираем Nexus 5X. Скачиваем сам эмулятор Android. Жмем Next. После всех манипуляций у вас в списке виртуальных устройств должен появиться «смартфон» Nexus 5X.
Теперь запустим приложение на виртуальном смартфоне – Run – Runapp.
Появится окно с выбором, на чем необходимо его протестировать. Разумеется, выберем Nexus 5X.
На смартфоне открываем список приложений и ищем там App kv.by
Вот что получилось:
Работает! Приложение готово. Теперь можно и на ваш реальный смартфон его загрузить.
Чтобы установить на смартфон наше первое приложение – нужно создать apk-файл. APK – Android Package Kit, это такой незашифрованный zip-архив, в котором содержатся скомпилированный код приложения, файлы ресурсов, файлы манифеста и другая информация. Именно в формате apk хранятся файлы в Google Play, из которого мы скачиваем приложения.
Поскольку они не зашифрованы, картинки и некоторую другую информацию можно легко извлечь из любых приложений. Для этого есть ресурс APKMirror.com. На нем можно скачать apk-файл нужного приложения из Google Play. Затем переименовать его в *.zip и открыть любым архиватором. Там можно увидеть структуру приложения, иконки, графику. Например, вот как выглядит приложение WhatsApp изнутри:
Apk-файлы можно скачивать себе на смартфон или обмениваться ими. Либо установить в качестве приложения. Это удобно и дает некоторую свободу.
Для того, чтобы установить apk на вашем смартфоне, нужно сначала это разрешить. Идем в Настройки – Приложения – Особые права доступа – Установка неизв. приложений и там выбираем «Разрешено» для вашего файлового менеджера (например, Total Commander).
Итак, наша задача сделать apk-файл из кода, который мы написали. Для этого в Android Studio выбираем Build – Build Bundle / APK – Build APK. Запустится скрипт для создания apk. В конце вам предложат открыть папку в которой будет apk-файл. Далее необходимо подключить смартфон к компьютеру и скопировать полученный apk-файл в память телефона. Затем уже на смартфоне открыть файловым менеджером папку с файлом и установить его. Теперь у вас собственное приложение в смартфоне!
Если вас заинтересовала эта тема – вы можете ознакомиться с исходным кодом некоторых простейших приложений на GitHub. Например, там есть галерея и файловый менеджер. Вы можете редактировать их код под собственные нужды. Много информации о разработке под Android вы также можете найти здесь.
Вот список из 10 языков программирования, которые стоит изучить в 2019 году.
JavaScript
Если говорить о популярности, то JavaScript можно найти в каждом списке «Топ лучших языков программирования». Несмотря на то, что некоторые программисты не питают особо нежных чувству по отношению к этому языку, однако глупо было бы отрицать его эффективность и те возможности, которые он дает разработчикам.
На сегодняшний день многие студенты выбирают JavaScript в качестве проводника в мир технологий. И правильно делают, ведь человек, знающий JavaScript, вряд ли останется без дела. Популярность и практичность этого языка позволяют ему занять одно из лидирующих мест в списке языков, необходимых к изучению.
Однако также стоит учесть, что JavaScript – это один из наиболее популярных языков программирования. А это значит, что на него существует как достаточный спрос, так и огромное количество предложений. Поэтому если вы изучаете или хотите изучить этот язык, то постарайтесь максимально в нем разобраться и стать отличным специалистом.
Python
В некоторых списках Python фигурирует на 5-ом месте, в других его ставят на 2-ое. При этом в большинстве случаев его сравнивают, а иногда и приравнивают к SQL, который также является достаточно широко используемым. На наш взгляд, вряд ли можно получить работу, зная только лишь SQL и ничего кроме. Однако если вы знаете Python, то это достаточно веская причина для принятия вас на работу. Поэтому Python все же более предпочтителен, нежели SQL.
В недавнем исследовании касаемо популярности и используемости языков программирования выяснилось, что многие люди используют не Python, а другие языки. Однако большинство опрошенных также признались, что в самом скором времени планируют его изучить – а это уже говорит о многом.
C#
Составляя подобный список, невозможно обойти вниманием C#. Данный язык используется при создании любой платформы. При желании вы можете создать приложений для Android или iOS, используя только C#. Если вам и этого недостаточно, то вы также можете использовать C# для разработки Linux- и Mac-приложений. Фактически, с помощью этого языка вы можете работать почти на любой платформе.
Безусловно, C# — это язык, который можно использовать для самых различных целей. Если же вас волнует, насколько он конкурентоспособен, то можем вас уверить: он используется повсеместно. Также стоит принять во внимание, что этот язык достаточно легко выучить.
Единственное, что, несомненно, стоит учесть перед его изучением, это его растущую сложность. Как и любой другой язык, C# развивается. Он обретает все большее количество специфических функций и возможностей. Подобные улучшения, конечно, не могут не радовать программистов, которые уже достаточное количество времени работают с этим языком. Однако этот же факт может отпугнуть новичков, которые побоятся его разветвленной системы.
Java
Если бы данный список располагал языки программирования в порядке приоритетной очередности, то Java оказался бы не намного ниже C# по списку. В действительности, мы уверены, что у Java есть достаточное количество интересных особенностей, чтобы посоревноваться с любым другим языком. Единственная причина, по которой мы советовали выбрать C#, а не Java, это огромное количество технических деталей в последнем – а это уж точно не то, в чем хотелось бы разбираться новичку.
Хотелось бы еще раз уточнить: Java и C# располагают очень похожими возможностями. Java также можно использовать для любых платформ. Он подойдет для разработки приложений для Android и iOS, а также для операционных систем Linux и Mac.
Единственное действительно важное различие будет заключаться в уровне технической подкованности человека, который решит изучить один из этих языков. Java станет прекрасным выбором для тех, кто отлично разбирается в технической стороне вопроса.
PHP
Мы прекрасно знаем, что данный язык вряд ли можно назвать таким уж удобным и функциональным – тем более он уж точно не относится к любимчикам программистов. Действительно, можно сказать много всего нехорошего про PHP, однако есть всего один крайне существенный факт, который перекроет любые негативные комментарии касаемо этого языка. Именно исходя из этого факта мы включили PHP в эту подборку.
И если вы хорошо знакомы с программистом, работающим на PHP, или сами работаете с этим языком, то вы наверняка знаете эту самую причину. Все крайне просто: блог-платформа WordPress покрывает огромный массив сайтов в интернете. А WordPress работает на – да, верно! – на PHP.
Если и этот факт не убедил вас в важности этого языка, то давайте вспомним, что крупнейшие и наиболее известные сайты начинали свою работу именно на PHP. Какие именно? Кажется, достаточно будет упомянуть Facebook и Twitter.
Go
На сегодняшний день Go – это язык, который значительно сдал в своей популярности. В соответствии с опросами, он часто попадает в списки наименее используемых языков программирования. Однако согласно тем же опросам многие люди констатируют, что собираются вернуться к нему уже в самом ближайшем будущем.
И хоть Go вряд ли можно отнести к тем языкам, которые легко освоить, однако наиболее важным является тот факт, что это действительно хороший и функциональный язык. И его качественность вкупе с огромным потенциалом позволяют ему стать достойным претендентом на изучение в 2019 году.
И те счастливчики, которые, правильно оценив обстановку, изучат этот язык и станут в нем экспертами, будут пользоваться огромным спросом на свои услуги, когда все большее число компаний начнут вводить Go в качестве одного из основных языков программирования.
Swift
Существует крайне очевидная причина выбрать Swift в качестве следующего языка для изучения. И эта причина – iPhone.
Платформа iOS непрерывно развивается и расширяется. Кроме того, существует гигантский рынок, заточенный именно под нее, и на этом рынке крутятся огромные средства, так как достаточному количеству корпораций нужны iOS-приложения.
И если вы изучите Swift, то именно вы попадете в число счастливчиков, к кому эти самые корпорации смогут обратиться за помощью и кто сможет помочь им в решении их вопросов. В таком случае, какой для них смысл инвестировать в Objective-C?
Swift – это прекрасный язык, изучение которого открывает огромное количество новых возможностей.
Rust
Этот язык не настолько популярен, как остальные в этом списке. Так почему этот язык все же оказался среди множества намного более известных и используемых собратьев?
Причина для этого крайне проста: разработчики любят Rust. Хоть у этого языка небольшой рынок и совсем небольшое количество компаний используют его, однако если разработчики отмечают этот язык и выбирают его среди множества других менее известных и популярных, разве это не достаточная причина, чтобы присмотреться к нему повнимательнее?
На самом деле, несмотря на достаточное количество технических особенностей, Rust – это крайне приятный в работе язык. И если вы задумались об изучении и переходе на новый язык программирования, то Rust станет прекрасным выбором.
Kotlin
Kotlin – это, можно сказать, многообещающий новичок для Android, поэтому советуем вам присмотреться к нему повнимательнее. Многие эксперты в области программирования считают, что большая часть разработок на android будет переведена на этот язык – точно так же, как и разработка с Objective C была переведена на Swift. Поэтому, если вы задумались об изучении нового языка программирования, то Kotlin – это крайне многообещающий вариант.
Фактически, использовать его намного проще, чем, к примеру, Java. Кроме того, именно этот язык пользуется официальной поддержкой команды Android для разработки Android-приложений. Поэтому изучить его будет намного проще, чем кажется.
C иC++
Многие скажут, что начинать изучать программирование с языков С и С++ — это не самая лучшая идея и что новичкам все же стоит обратиться к Java или C#. И что только после освоения и достаточного навыка работы с этими языками можно пытаться перейти к изучению C и C ++.
Однако давайте вспомним: еще парочку лет назад многие во всеуслышание заявляли, что в самом скором времени C и C++ исчезнут. Однако на стыке 2018 и 2019 годов эти языки не только продолжают существовать, но и обещают триумфально вернуться. Речь идет об играх в сфере виртуальной реальности – ни один другой язык не может сравниться с языками C и C++, когда дело касается данной области. Поэтому, если вы хотите влиться в создание игр виртуальной реальности, то C и C++ предоставят вам прекрасную возможность проявить себя.
Программисты даже день для профессионального праздника выбрали с помощью языка программирования.
В 2018 году в Украине и мире 13 сентября отмечают день программиста. Дата празднования меняется в високосные годы и переносится на 12 сентября.
Это одна из особенностей праздника, в которой есть глубокий смысл для каждого программиста.
История праздника
Профессиональный праздник работников IT отмечают 13 или 12 сентября. Суть в том, что дата определяется особенным способом. Нужно отсчитать от начала года ровно 256 дней. Это число выбрано не случайно, его знает каждый программист. Оказывается, что 256 — это максимальное количество элементов всех систем с 8-битным кодированием.
(Фото: www.knowledge7.com)
Но в России, например, долгое время праздник отмечали 22 апреля. Суть в том, что 22.04 идентично с кодом специальность Программное обеспечение вычислительной техники – 2204.
Особо заядлые программеры могут праздновать еще несколько раз в году. Например, 19 июля была создана первая программа для компьютера. А у католиков даже есть покровитель интернета – святой Исидор Севильский. День святого выпадает на 4 апреля.
Традиции дня программиста
Работники IT-сферы – это особые люди. Их род деятельности влияет на их мировоззрение, интересы, чувство юмора и т.д. На работе программистов могут наградить премией или отметить любым другим стандартным офисным способом.
Но тонкости своей профессии знают только программисты и их близкие люди. И уже они сами придумывают исключительно «айтишные» празднования, традиции и секреты.
Что подарить программисту
Как и все работники конкретной сферы, программистов можно поделить на новичков, работников и абсолютных IT-шников. В зависимость от того, кем является человек, и стоит выбирать подарок.
Студентам и начинающим можно подарить аксессуар с прикольным тематическим рисунком. Это может быть футболка, чашка, мышка для компьютера и другое. Найти такие вещи, посвященные программистам не сложно.
(Фото: kibet-shop.ru)
Тем, кто более серьезно занимается такой работой, идеально подойдут вещи, которые помогут им организовать свое время и рабочее пространство.
Такие программисты оценят практичные органайзеры, приспособления для ноутбука или рабочего места. Но не забывайте, что у программистов есть свои «приколы», которые следует учесть при выборе подарка.
Что касается людей, для которых IT это вся их жизнь, лучше выбрать индивидуальный подход. У них точно есть десятки чашек, футболок, кепок и полотенец с прикольными надписями и картинками.
В поисках подарка для такого человека руководствуйтесь его личными вкусами независимо от рода деятельности. Они и так будут связаны с миром программирования.
Компания Sphero анонсировала выпуск нового шарообразного робота под названием Sphero Bolt. Устройство ориентировано на образовательное применение. С его помощью дети могут обучаться робототехнике и программированию.
Новинка получила программируемый LED экран с разрешением 8х8 точек, на котором могут выводиться различные изображения, в том числе анимированные. Например, на экране могут отображаться стрелки для указания направления движения или подмигивающий смайлик, когда задача была завершена. Также в Sphero Bolt интегрированы четыре инфракрасных сенсора. Благодаря этому устройство может общаться с другими такими роботами.
Впервые в Sphero создали возможность взаимодействия между роботами. При этом в компании отмечают, что до пяти Sphero Bolt могут общаться друг с другом в радиусе до 5 метров. Ещё одним новшеством Sphero Bolt является встроенный компас, который позволяет лучше ориентироваться в пространстве. Дополнительно сообщается о наличии сенсора освещённости окружающей среды и встроенной батареи, которая обеспечивает до 2 часов автономной работы при интенсивном использовании.
Для взаимодействия с роботом Sphero Bolt предусмотрено два приложения. Sphero Play позволяет устраивать своеобразные гонки, взаимодействуя с сенсорным дисплеем мобильного устройства. А при помощи Sphero Edu можно комбинировать блоки кода и программировать поведение робота.
Робот Sphero Bolt уже доступен для заказа на сайте компании по цене $149,99. К розничным продажам панируется приступить в конце месяца.
Google создал конструктор софта типа low-code, который позволяет создавать бизнес-приложения людям без опыта программирования. Конструктор доступен корпоративным подписчикам пакета G Suite.
Конструктор приложений
Google завершила создание конструктора бизнес-приложений App Maker и сделала его доступным для всех разработчиков, которые пожелают им воспользоваться. Об этом компания сообщила на своем сайте. До этого конструктор работал только в частном режиме предварительного просмотра.
App Maker, анонсированный полтора года назад, представляет собой онлайн-инструмент для быстрого создания и развертывания в вебе бизнес-приложений. Чтобы им воспользоваться, разработчик должен иметь подписку на пакет облачных служб G Suite класса «Бизнес», «Предприятие» или «Образование».
Задача конструктора — дать возможность любому из этих пользователей, в том числе без опыта в программировании, создать собственное приложение для нужд бизнеса, базирующееся на данных, которые уже хранятся в пакете G Suite, базе данных Google Cloud SQL или любой другой базе данных, которая поддерживает JDBC, то есть соединение с базами данных на языке Java, или предлагает архитектурное решение REST API.
Способы применения
Согласно статистике, которую приводит Google, правильно подобранное под нужды сотрудников мобильное приложение может экономить каждому из них до 7,5 часов в неделю. Однако бизнес, как правило, не инвестирует в разработку таких приложений, поскольку весь ИТ-бюджет уходит на ПО типа CRM, ERP и SCM. App Maker должен решить эту проблему.
В ходе тестирования в течение несколько месяцев с его помощью создавались приложения для различных бизнес-нужд таких партнеров Google как разработчик игр Electronic Arts, производитель средств гигиены Colgate-Palmolive, провайдер облачных решений SADA Systems и других.
Google запустил конструктор приложений для бизнеса
В частности, для Electronic Arts, которой приходится часто перебрасывать сотрудников с одного проекта на другой, было создано приложение для управления кадровыми ресурсами, позволяющее отслеживать подобные перемещения.
Как это работает
App Maker обеспечивает пользователю low-code среду, то есть дает возможность создать приложение с помощью графического пользовательского интерфейса и выбора конфигурации, а не с помощью стандартных процедур программирования. В этом случае основной частью работы становится подключение базы данных, отмечает ресурс TechCrunch, и после этого собственно создание приложения проходит относительно легко, путем обыкновенного перетаскивания элементов на экране. Благодаря наличию ряда шаблонов, конечный продукт может работать как на десктопах, так и на мобильных устройствах.
Помимо баз данных, на которых основывается большинство приложений, из App Maker возможен доступ к Gmail, Google Calendar, Sheets и другим источникам данных. В общей сложности конструктор предлагает доступ к 40 сервисам Google. В отличие от таких low-code платформ, как Mendix, K2 или Microsoft PowerApps, App Maker фокусируется преимущественно на собственных сервисах Google и не предлагает встроенного подключения к сторонним сервисам типа Salesforce. Однако есть шансы, что теперь, после выхода App Maker из тестирования, Google расширит его функциональность, пишет TechCrunch.
В случае с App Maker администраторы G Suite на предприятиях смогут увидеть, какие приложения запускаются в организациях, а также получить данные об их владельцах, пользовательских метриках и авторизации по протоколу OAuth, который позволяет ограниченный доступ третьих лиц к данным без предоставления им логина и пароля. Расширенный контроль «белого листа» OAuth позволяет администратору предотвращать запуск приложения без его одобрения.
Ричард Кэннет Энг, работал с Fortran, Tandem TAL, C/C++, C#, Obj-C, Java, Smalltalk, Python, Go
Smalltalk
C++ – самый крупный и наиболее сложный из когда-либо существовавших языков программирования
JavaScript – самая большая афера в истории программирования
Go – самый быстроразвивающийся язык программирования в истории: с нуля до вершин менее, чем за 7 лет!
Java – вытеснившая COBOL как единственный язык программирования в сфере предпринимательства; он намного опережает другие языки программирования по популярности и востребованности
Python – как этому сравнительно медленному скрипт-языку удалось достичь такой популярности при численном подходе, в сферах машинного обучения, науки о данных, «интернете вещей», веб-разработки?
Lisp/Scheme – гомоиконическое чудо с великолепной макро-расширяемостью кода
Не стоит забывать о:
C – поддерживает всю IT-индустрию (в том числе Linux)
Forth – как настолько простой язык может быть таким полезным?
Emacs и vim – потрясающие программные редакторы
ООП (объектно-ориентированное программирование) – эта парадигма программирования определяла развитие IT-индустрии более трех десятилетий и не похоже, чтобы она теряла хватку, даже перед лицом ФП (функционального программирования).
Николас Купер, программирую с 1987
Вот список постоянно развивающихся отраслей программирования, которые, по моему мнению, входят в «большую семерку». Это скорее идеи, популяризируемые посредством программирования.
Ни одна из этих отраслей, кроме помеченной звездочкой, не развита настолько, чтобы говорить о ее завершенности:
Управление данными. Эта отрасль принимает различные формы от виртуальной памяти до файловых систем и баз данных, и все они развиваются. Нетрудно представить мир, в котором все данные о вас собраны в досье (оставим в стороне вопросы безопасности) и могут быть использованы, чтобы, скажем, доставить вам любимый сэндвич прямо на рабочее место как раз в тот момент, когда вы немного проголодаетесь.
Код как данные*. Это то, во что закономерно эволюционировала архитектура фон Неймана, которая, наконец, привела к движению Лиспа, и в конечном итоге будет также включать информацию о тип. [P.S.: Возможно, этот раздел и нельзя считать завершенным, если он будет развиваться и дальше и будет включать в себя информацию о зависимом типе …].
Зависимые типы. Это эволюция тезиса Черча-Тьюринга в своего рода теорию, в окончательное понимание того, почему программирование и математика суть одна наука, и как мы можем давать обоснование каждой из них, используя методы другой. Наконец, мы можем создавать интерфейсы, не только придерживаясь необходимых требований (содержащих метод foo), но и универсальных требований (здесь foo соединяется с bar). Это означает, что мы можем писать код без исключений во время выполнения. Это не означает, что код «просто работает», а то, что (если память согласована) он не «разлетится в щепки», а просто зависнет.
Пиши один раз, используй везде. Все началось как эволюция «высокоуровневых языков программирования» от машинного кода к Ассемблеру, С и, наконец, Java и .NET (а также к использованию Java в веб-браузерах). Теперь представьте себе систему, в которой вне зависимости от выполняемой задачи функционирует всего один код, будь то веб-страница на рабочем столе Windows или сервере BSD, и все это оптимизировано для типов памяти RAM и Optane и имеет доступ к ресурсам CPU и GPGPU.
Адаптивные алгоритмы. Генетические алгоритмы, нейронные сети, роевые алгоритмы и пр. Представьте, каково не понимать, каким образом работает система, но сделать так, чтобы она выполняла необходимые команды. Просто позволить ей развиваться самостоятельно. Представьте, каково это больше не тратить время на утомительное написание кодов. Siri, взгляни на мое лицо и скажи, слягу ли я с простудой!
Интегрированные среды разработки – Я говорю о таких вещах, как исправление багов кода, статический анализ, интеллектуальное завершение кода, покрытие кода, отслеживание рабочих элементов, управление источником и все это в одной среде. Просто подождите, пока адаптивные алгоритмы достигнут ИСР. Просто сообщите Siri, что вы хотите создать запись с полями имени, адреса и номера телефона, хранящиеся в реляционной базе данных с внешним ключом к записи менеджера, и с запросом доступным в моем окне приложения .NET на вкладке сотрудника, и она напишет весь код шаблона, который вам необходим. О, и я уже упоминал, что она написала для вас все модульные тесты и документацию XML (кто-то все еще использует XML, разве мы все не используем очередной YAML)?
Виртуализация. Возможность разрабатывать и исправлять ошибки из одних операционных систем в других, а теперь Dockers хранит все изолированно в очень маленьких, опрятных пакетах. Это вариант Начала для программистов. В конце концов, каждая часть операционной системы будет виртуализирована, и будет давать доступ только к необходимым ее разделам. Когда это произойдет, виртуализация будет намного больше похожа на использование зависимых типов для управления ресурсами, и будет сложно говорить об одном, не упоминая другое.
Достойны упоминания:
Операционные системы. Опять же, это приложение стандартизации для создания ограниченного количества вариантов типа «пиши один раз, используй везде» для будущего кода. Они разрабатывались с момента зарождения программирования, но тогда цель была создать ОС, которая позволила бы нам лишь запускать на устройстве более одного приложения. Жаль, что мы по-прежнему используем ту же технологию с 60-х годов, но опять же, пока мы не достаточно развили технологии из «большой семерки», стоит еще подождать «больших изменений».
Распределенные вычисления. Речь идет о применении стандартизации и автоматизации для управления данными. Сеть, тогда интернет и теперь распределенные вычисления являются логическим расширением. Они позволили нам создать такие вещи, как интернет-валюта, например, биткоины.
Вэйн Кук, дипломированный Scrum-специалист
Я буду придерживаться иного подхода, чем остальные, и расскажу о 7 прорывах для своего времени.
Чарльз Бэббидж и Ада Лавлэйс. Первая вычислительная машина и первая женщина-программист. Без их вклада программирование не началось бы так, как оно началось. Ада была настолько влиятельной, что в её честь назвали язык программирования (к сожалению, он был одним из структурированных языков и не сочетался с объектно-ориентированными технологиями того времени).
Табуляционная машина и перфокарты Холлерита. Созданные для переписи населения 1880 года в США. Перфокарты были неотъемлемой частью зарождавшегося программирования.
Фортран. Первый язык программирования высокого уровня, в своё время использовался для научных вычислений. Вытеснен машинным кодом и Ассемблером.
Лисп. Основа основ искусственного интеллекта. Ввёл рекурсивные вызовы, структура всех данных и программ идентична.
Алгол (алгоритмический язык) – первые по-настоящему структурированные языки. Такие, как С и Pascal, созданы на основе Алгола.
SmallTalk. Изобретение компании Xerox, которое она действительно недооценила. Является основой всех объектно-ориентированных языков. Стив Джобс был настолько впечатлен этим языком, что создал ОС Macintosh в среде SmallTalk. SmallTalk был истинно объектно-ориентированным языком. Все объекты, разработанные для ОС и для пользовательских программ, были дочерними элементами базового объекта «Объект». C ++ просто взял идеи SmallTalk и попытался добавить их в язык C. Bell Labs достаточно хорошо справились с этой интеграцией, разработав основной объектно-ориентированный язык.
UNIX. И снова Bell Labs. Они разработали С, чтобы иметь возможность создать операционную систему UNIX. Стивен Борн разработал один из первых рабочих языков сценариев командной строки для быстрого управления системой. Так много «языков» обязаны своим созданием командной строке Борна (sh от shell). Подумайте о каком-либо интерпретируемом языке программирование, он, вероятно, обязан своим появлением «sh».
Рагхав Джаджодиа, GSoCer, CodeSprint
Вот мой топ-7 в мире вычислений и программирования:
7. С++ – самый крупный и эффективный из когда-либо созданных языков программирования.
6. Распределённая система управления версиями Git – причина, по которой сотни разработчиков имеют возможность одновременно работать над созданием программного обеспечения.
5. Facebook – самое крутое когда-либо созданное приложение социальной сети, используется миллиардами людей.
4. YouTube – миллиарды часов видеоконтента, 1000 часов контента ежедневно загружается. То, как платформа справляется с такими потоками информации, поражает.
3. Платформа StackOverflow – программисты не могут представить жизни без неё.
2. Поиск Google – действительно поражает, как Google удаётся обрабатывать миллиарды веб-страниц и предоставлять наиболее точные результаты поиска.
1. Всемирная паутина – WWW или интернет, определенно должен возглавлять этот список. На данный момент это самое великое творение человечества.
Кадровый портал Glassdoor опубликовал список самых востребованных профессий в 2018 году и, как оказалось, более половины из них предполагают наличие навыков программирования. Вот 9 самых востребованных языков программирования.
1. SQL занимает первое место в списке. СУБД на основе таких технологий, как MySQL, PostgreSQL и Microsoft SQL Server широко используются в бизнес-сфере, больницах, банках и образовательных учреждениях по всему миру.
2. Недавно язык программирования Java отметил свой двадцатилетний юбилей. Это один из наиболее распространенных языков программирования, который на сегодняшний день используют порядка 9 млн разработчиков.
Это интересно:Беспилотник США провел мониторинг границы Украины и России
3. В настоящее время почти все веб-страницы используют скриптовый язык программирования JavaScript, встроенный в популярные браузеры, в том числе Internet Explorer, FireFox и Safari.
4. C# — сравнительно новый язык программирования, разработанный компанией Microsoft как основной язык для приложений, использующих платформу .NET Framework.
5. C++ — объектно-ориентированный язык общего назначения, созданный разработчиком Бьярне Страуструпом на базе языка C.
Это интересно:В Китае на высоте 3 километров открыли самую высокогорную линию трамвая
6. Python — один из наиболее популярных современных языков программирования.
7. Современный PHP (Hypertext Pre-Processor) — скриптовый язык, использующийся для разработки веб-сайтов.
8. В 2014 году компания Apple представила собственный язык программирования под названием Swift. Язык предназначен для разработки приложений под iOS и macOS.
9. Ruby on Rails — веб-ориентированная среда разработки на базе Ruby.