Давно вы писали десктопные приложения(и на чем)?
Пишу сейчас. И одно поддерживаю время от времени. Еще одно недавно апдейтил под новые требования Apple Store.

wxpython с помощью boa constructor — аналоги cli скриптов. В разы короче веба, потоки в wx мимо GIL идут, очередь сообщений элементарная, всё нэйтивно и без фризов.
«Всё» — что? Ни одного web приложения заменившего десктопное я пока не видел. Наоборот, в виде электрона их тащят на десктоп (да и это получается хреново).
C++/Qt, игры на C++/SDL2 — альтернатив как не было последние 10 лет так и не видно.

Да, актуальна. Не знаю как там на линуксе, но на винде всегда актуально. На C# писал.
т.е. вопрос был не про C#, а про .NET
за деньги или из любви к искусству?

Веб считай никогда и не писал. C, C++, curses, Qt.

Объясняю матчасть
Раньше интернет был меньше и тупой школоты в нем было меньше. Потом возникла культура игрофонов, и каждый детсадовец освоил интернетно-фейсбуковый жаргон. Часть серьезных дядек тоже сместилась в сторону игрофонов, но в качестве основного рабочего девайса используют десктопы/ноутбуки. В итоге из платформ нынче мы имеем: iOS, MacOS, Android, Windows, Linux. Почти как в 70-80-е годы, где каждый новый крупный производитель считал своим долгом создать свою собственную архитектуру. Естественно, работать на андроиде-айос крайне неудобно, потому дядьки «моё время дорого стоит» продолжают использовать как минимум ноут в качестве рабочего инструмента.
По ОС-ям чуток разъяснил, теперь переходим к собственно софту. Платформ, которые могли бы работать на всех ОС-ях, можно пересчитать по пальцам. А платформ, которые позволяли бы обеспечить близкий к родному интерфейс на всех ОС-ях, и вовсе не существует. В принципе, можно писать на вебе, электроне, Qt. Сразу приходим к тому, что у Qt поддержка мака и игрофонов так себе. Веб и электрон по сути очень близки, но отдельные модификации морд под игрофон и под десктоп все равно придется делать, потому что ну слишком уж они разные. Для оборачивания веба под каждую платформу ещё есть Cordova, но там тоже ни разу не гладко всё.
Допустим, мы приходим к самому-присамому универсальному варику под все платформы — веб с опциональной кородовой. Но вот беда: жаваскриптное приложение, которое оперирует DOM, да еще и реализуя кучу низкоуровневых часто вызываемых обработок на том же жаваскрипте (React, Vue, Angular) — тормозит, жрет много оперативы, а в итоге жрет аккому школьника, и по сути плохо подходит для игрофона. Как и плохо оно подходит для работы с большими объемами данных на десктопе. Результат — разработка React Native и Flutter.
В результате этих процессов точно сильно пострадала десктопная игровая индустрия, поскольку школьники больше не сидят как сычи дома за компом, а сидят как сычи на лавке за игрофоном. Вы можете возразить, что нынче каналы стали широкие, а сервера — дешевые, потому много чего переместилось в интернет, то есть software as service. Однако, широкополосный интернет существует уже довольно давно, а подешевели компы не только для хостеров, но и для любого дяди вани, который может обвешаться с ног до головы сервернывми и рабочими компами за довольно скромную сумму денег, потому я не считаю, что дешевый доступ к серверам в интернете стал решающим фактором.
На чем писать мультиплатформенное desktop-приложение? Взгляд менеджера
Сегодня авторы большинства приложений уже не могут позволить себе выпускаться под одну платформу. Early adopters сидят под маками, мейнстрим сидит под Win32, а гики и адепты open source предпочитают Linux. Каждая из этих аудиторий обладает уникальными свойствами, а поэтому важна для большинства проектов.
Данная статья задумывалась как открытая попытка разобраться, на чем стоит писать мультиплатформенное desktop-приложение. Приглашаю высказать свое мнение людей с опытом создания таких приложений.
Изначально определим критерии, по которым будем оценивать различные платформы. В первую очередь — это удобство пользователя. Уверен, что вы замечали общие черты у приложений, написанных под разные платформы. Во вторую — это интересы проекта. Моя задача — построить успешный бизнес, а не играться с различными инструментами.
Обозначим рамки исследования. Мое приложение — небольшая утилита для пользователя-«чайника», которая качает файлы из интернета: минимум GUI, небольшой набор функциональности, использование внешних С++ библиотек.
Ну что, начнем. Какие есть варианты? Я рассмотрю Java, C#, C++, Python. Буду рад, если вы расскажите о других альтернативах.
Данный язык/среда изначально задумывались как нечто мультиплатформенное. На Java написано большое количество приложений, крупные проекты вроде Eclipse используют именно этот фреймворк.
Большой минус Java с точки зрения пользователя — необходимость устанавливать фреймворк. Это безусловно сложнее установки Flash player’а и часто становится pain in the ass. И размер инсталлятора (я качал 80+ мб), и постоянная путаница в названиях (JRE, J2SE, JDK, JVM, . ) не играют на руку разработчикам приложений под Java.
Learning curve имеет критическое значение для любого проекта, который ставит на вирусное продвижение. Если 30% ваших пользователей не смогут поставить Java-машину (лень качать, неудобный сайт, отложили «на потом», . ) — у ваших конкурентов будет фора в 30%. Эта огромная доля пользователей, потерять которых мой проект себе позволить не может.
Все приложения, которыми мне доводилось пользоваться, не использовали «родной» интерфейс Win32. Не знаю, чем руководствовались разработчики, но с точки зрения конечного пользователя это выглядит очень не симпатично.
Примеры приложений: Eclipse, ZDE, клиент для Gnutella Limewire.
Плюсы: мультиплатформенность, большое количество кадров, развитость фреймворка.
Минусы: необходимость установки фреймворка, кривость GUI, низкая производительность.
Язык C# и платформа .NET вышли из под крыла компании Microsoft, которая никогда не отличалась уважением к мультиплатформенности. Данный язык был тепло принят разработчиками и энтузиасты проекта Mono даже сделали аналог фреймворка под Linux/Unix/Mac Os X.
Аналогично с Java, приложения на C# имеют большой минус — необходимость устанавливать фреймворк. Я сам отказался от установки несколько приложений, которые требовали этого фреймворка. Менее продвинутые пользователи будут ещё более требовательными.
В остальном — сплошные плюсы, на мой взгляд.
Примеры приложений😕
Плюсы: мультиплатформенность, большое количество кадров, хорошая производительность, развитость фреймворка.
Минусы: необходимость установки фреймворка.
Старичок дотянул до наших дней и замечательно себя чувствует. Много приложений под платформы Linux и Windows до сих пор пишутся на этом языке.
Программы, написанные на C++, являются примером для других по размеру дистрибутива и экономному использованию системных ресурсов (процессор, память). Тем не менее у разработчиков есть масса претензий к С++. По моему мнению, язык является «устаревшим» и его популярность в дальнейшем будет снижаться, что подтверждается индексом TIOBE.
С точки зрения развития проекта, по сравнению с динамическими интерпретируемыми языками (вроде Ruby и Python), разработка на данном языке может иметь менее высокую скорость и более высокие издержки изменения проекта. Для стартапа, которому не столь важна производительность приложения, это может стать существенным минусом.
Примеры: Firefox.
Плюсы: отличная производительность, большое количество кадров, большое количество библиотек.
Минусы: невысокая скорость разработки.
Python
Взглянуть на Python в качестве платформы для desktop-приложений меня заставила программа MusicBrainz Picard. Несмотря на свою скриптовую сущность, Python легко собирается в один exe-файл, не требуя от пользователя установки дополнительных компонентов.
В случае разработки небольшого приложения, интерпретируемые языки вроде Python будут большим плюсом. Легкость написания и высокая скорость изменения приложения пригодится любому стартапу.
Огромным минусом различных «модных» технологий является их низкое распространение, а значит серьезные проблемы в поиске квалифицированных кадров. Ситуация с поиском программистов итак плачевная, а если ограничиться узким языком — можно вообще никого не найти. С другой стороны, храбрость перейти на новый язык имеют наиболее прогрессивные разработчики. Может получиться так, что выбрав «перспективный» язык, мы сразу отсечем миллионы середнячков, оставив себе выбор из нескольких перспективных разработчиков.
Пример: MusicBrainz Picard, оригинальный BitTorrent.
Плюсы: высокая скорость разработки и изменений, хорошая интеграция с библиотеками на С и С++.
Минусы: мало кадров, низкая производительность.
Выводы
К сожалению, любая из вышеперечисленных платформ имеет свои плюсы и минусы, однозначного решения найти не удалось. Выбор одной из них сегодня принесет преимущества и недостатки, влияние которых на проект мы увидим только завтра.
Я пока выбираю между С++ и Python. Первый является «надежным» решением с известными недостатками. Второй является «рискованным», но интересным и перспективным. Надеюсь, ваши отзывы помогут мне сделать окончательный выбор. Какую платформу выбрали бы вы на моем месте?
PS. Я сейчас ищу программистов в этот стартап (с++/python/php), поэтому если кому интересно — присылайте свое резюме.
Top 10 Programming Languages for Desktop Apps In 2021
Top 10 Programming Languages for Desktop Apps In 2021. The growing demand in the IT industry can make it confusing to choose a programming language that is suitable and helpful for a person. One of the hardest questions to ask when you want to build a desktop application for your brand or as an individual who has just started handling programming is which language should you go for.
Honestly, opting for a programming language highly depends on the purpose or requirements you want to fulfil. Speaking of Desktop applications, one thing you need to keep in mind is with various operating systems (Windows, macOS, Linux) out there, you will have to determine which interests you the most. If it’s one of the three, then you will get different options of programming languages to learn and practice accordingly. While, on the other hand, if you are looking for an application that runs smoothly on all the available OS, then you must go for cross-platform capable tools, software, or languages.
So, get ready to find some of the most used programming languages for all the purposes in detail.
Top 10 Best Programming Languages for Desktop Apps In 2021
For all the programming lovers out there, we have curated a list of top 10 programming languages for desktop application development that you can learn in 2021.
Python
JavaScript
Swift
Red-Lang
Object Pascal
C# (pronounced as C Sharp) is a modern, type-safe, and object-oriented programming language, designed and developed by Microsoft Corporation. Although having its roots in the C family, it will be familiar to the JAVA and JavaScript programmers. Needless to say, as C# and Windows both are designed by Microsoft, developers can create a windows-based desktop application with ease. C# allows developers to create different types of robust and secure applications that work on the .NET ecosystem.
Some of the frameworks that you can use while developing a desktop app using C# includes the .NET WPF ( that works on XAML to offer a declarative application programming model), Uno Platform, Avalonia, .NET MAUI, WinForms, UWP, Xamarian, and Blazor. These frameworks support numerous application development features such as resources, controls, application model, graphics, data binding, security, layout, and data binding. Moreover, with the release of .NET Core, you can use C# for cross-platform development as well.
C++ is a general-purpose, procedural programming language that was developed as an extension of the C language. Being a low-level, object-oriented language, it provides a powerful control on the system resources and memory to the developers. A programmer can use C++ not only for the development of desktop applications but also for systems, browsers, games, and so much more. To edit and debug the source code of C or C++, you can use IDEs like Eclipse, NetBeans, Qt Creator, Visual Studio, and XCode. Some popular applications like Adobe Creative Suite, MS Office, and Google Chrome are developed using C++.
3. Python
Python is a high-level, object-oriented programming language that does not need a programmer to write longer lines of code for executing the concept. It is one of the highly flexible languages that one can use. Not only that but Python has a vast range of GUI frameworks that allow developers to create an application in an easy and secure manner. Some of the frameworks that you can use to develop not only windows application but others too with Python, includes, PyQT (a combination of QT library and Python) that lets the developer decide whether to create visual dialogues using QT Designer or create a program using code; Kivy (an OpenGL ES2 framework) enables programmers to write code once and use it on different platforms; WxPython, PyGUI, and Tkinter.
4. Java
Java is an object-oriented, class-based programming language that aims to have as low implementation dependencies as possible. It intends to let the programmer write once, run anywhere (WORA). Simply put, whenever a programmer writes code in Java, it is compiled by javac. The result of this compilation is a class file or the bytecode(not a machine native code). To execute this file or bytecode in the machine, Java needs an interpreter — JVM or Java Virtual Machine which converts bytecode into machine language. As JVM depends on the operating system, we get different variations of it that can be downloaded according to the requirement and be used to run code on different operating systems. That being said, it is used to develop robust and platform-independent applications.
A few tools that you will need for building a desktop application with Java entails JDK, Netbeans IDE, Java Swing, Java FX, and SQL. Along with that, you will also need some frameworks like Eclipse RCP, JFoenix (JavaFX material), TornadoFX, Spring, Kafka, Grails, DropWizard, GWT, Hadoop, Log4j, Hibernate, JMF, and so on based on the requirements you have.
5. JavaScript
Javascript or JS is a prototype-based, interpreted, single-threaded, lightweight dynamic programming language that supports object-oriented, functional programming type. Despite it being well known as a scripting language for web pages, several non-browser environments also use it. It is among the top programming languages for desktop app development. Using frameworks like Buildfire.js, Electron, NW.js, AppJS, Meteor, and Proton Natives, JS can help developers in designing and developing cross-platform desktop applications.
PHP or hypertext preprocessor is a general-purpose, server-side programming language. It’s used to manage dynamic content and databases. Besides, PHP is significantly powerful to be the core of the largest blogging system (WordPress), deep to run a vast social media network (Facebook), and easy enough for beginners to learn. Additionally, the fact that WordPress is used to host all kinds of websites, from those about phone trackers to whole e-commerce platforms goes to show how powerful this language is. It has become the best option for developers who want to create desktop applications. However, to build cross-platform desktop applications with PHP, you can either use Nighttrain (a pre-packed PHP-hosting set that helps in hosting the app), PHP Desktop (an open-source project designed to develop desktop GUI applications), WXPHP, or TideSDK.
7. Swift
Swift, developed by Apple Inc., is a multi-paradigm, compiled, and general-purpose programming language for macOS, watchOS, iOS, and so on. Writing code in Swift is interactive as the syntax used is concise and powerful. If you have been developing in C or C++, you will find some parts of swift quite similar. For developers who want to develop an app for macOS, swift is the one. Also, if you want to make your development smoother, don’t forget to use tools like HomeBrew, Flexihub, iTerm2, XCode, NetBeans.IDE, Tower2, Dash, and Visual Studio Code.
8. Red-Lang
Red is an imperative, reactive, and functional programming language, designed to overcome the obstacles of REBOL(Relative Expression Based Object Language). Having a native-code compiler, Red offers a broader field for developers. It supports garbage collection and has low memory footprints. Using Red for Windows and macOS desktop applications development, developers acquire features such as support for a prototype-based object, cross-compilation, cross-platform native GUI, and visual studio plugin for various needed features.
Go is an open-source, multi-paradigm, functional, imperative, concurrent, object-oriented programming language that is developed at Google. Syntactically it is similar to the C language but with better features like garbage collection, memory safety, and structural typing. Go makes it easier to design a reliable and efficient desktop application for macOS and Windows. There are some frameworks that you will come across while using Go, including, Martini, Gin Gonic, Mango, Beego, Revel, Echo, Iris, and GoCraft.
10. Object Pascal
Object Pascal is an extension to the Pascal programming language that supports object-oriented programming features like methods and classes. It is compiled to a fast, type-safe, and native code. Not only that but object pascal can be used to develop apps for Linux, Windows, and macOS at the same time. Two major implementations that are available for object Pascal include Delphi (a commercial Rapid Application Development environment) and Free Pascal(an open-source compiler and run-time library). Some of the major frameworks that you will need while developing desktop applications using Object Pascal are Lazarus, Oxygene, and Firemonkey.
Whether you are a developer or a business person, it is crucial to learn and adopt some of these top programming languages for desktop application development. As we know, programming languages are ever-changing, however, some of these languages like C#, Python, or Java can help you in achieving any goal related to application development. That being said, before sticking with a certain programming language try and explore all the given options and choose the one that suits your app vision perfectly. Besides, if you are a person who wants to build a desktop application for your business, then hire developers with relative experience of years. As an option, you can delegate your coding assignments to experts from AssignmentCore to get your programming homework done for money.
Какой язык программирования выбрать для изучения?

Какой язык программирования лучше изучать первым? Каждый новичок начинает с этого вопроса свой путь в IT. Понимаем, ориентироваться среди двухсот языков непросто. Команда ISsoft решила помочь вам разобраться, с какого языка лучше начать погружение в мир IT.
История языков программирования
Когда языков программирования не существовало, первые программисты писали команды для работы машин цифрами. Им приходилось запоминать таблицу машинных кодов, а не несколько базовых алгоритмов и принципов работы языка, как сейчас. Чуть позже появились компиляторы, упростившие программистам жизнь. Компиляторы – программы, переводившие слова программистов в машинный код. Первым языком программирования стал Assembler. Программа, написанная с его помощью, запускалась и работала медленнее машинного кода, но писать ее было гораздо проще. Так началось активное развитие языков программирования.
Какой язык программирования лучше?
Спорный вопрос. Смотря, что понимать под словом «лучший». Например, язык программирования можно оценивать по скорости и простоте написания или скорости выполнения кода. Если оценивать по первому критерию, то под него могут попасть языки парадигмы ООП (объектно-ориентированного программирования): С++, Java, Python. Ориентируясь на простоту написания кода, можно выбирать языки JavaScript, Python, Go, PHP и Ruby. Конечно, это не означает, что они лучшие.
Кто-то может назвать “лучшим” тот язык программирования, который многие годы не теряет своей актуальности. Другие говорят о том, что лучший язык – сложный язык, а третьи настоят на том, что лучшего нет, а изучать надо несколько основных и нет разницы, с какого начинать.
За всю вашу IT-карьеру вам, скорее всего, придется столкнуться с несколькими языками и множеством мнений по этому вопросу. Поэтому относить себя к какой-то категории мнений мы бы не хотели. Считаем лишь, что важно увлекаться программированием, как и любым другим делом, и тогда все точно получится.
Какой язык выбрать для изучения в 2020/2021 году?
Вы можете выбрать язык программирования по различным критериям:
- По популярности языка среди других разработчиков и развитости комьюнити.
- По востребованности на рынке труда.
- По тому, чем именно вы хотите заниматься.
Топ популярных языков программирования среди разработчиков
Предлагаем вам список языков программирования, которые являются самыми популярными в 2020 году по рейтингу TIOBE:
- C
- Java
- Python
- C++
- C#
- Visual Basic .Net
- JavaScript
- PHP
- SQL
- R
- Swift
- Go
- MATLAB
- Assembly language
- Ruby
TIOBE основан на индексе, согласно которому популярность языков определяется на основе количества результатов поисковых запросов с названием языка. Рейтинг обновляется ежегодно, но топ-5 остается одинаковым.
Хочется обратить ваше внимание на то, что понятие “самый популярный язык” не означает необходимость выбирать его для первоочередного изучения. Каждый язык создан для выполнения определенных задач в своей области применения: на каком-то можно написать код для мобильного приложения, в каком-то нет нужных модификаторов доступа и так далее.
Топ востребованных языков программирования на белорусском рынке труда
Согласно данным популярного портала по поиску работы в Беларуси jobs.tut.by во втором квартале 2020 года больше всего вакансий в сфере IT было размещено для следующих специалистов:
- 4,8% – QA-специалистов.*
- 4,2% – Java-разработчиков.
- 4,1% – Front End разработчиков.
- 4,0% – PHP-девелоперов.
- 2,7% – JavaScript-разработчиков.
- 2,3% – .NET-инженеров.
- 2,3% – DevOps-специалистов.
*tut.by не предоставил детальную расшифровку данного пункта, поэтому в 4,8% включены инженеры как по мануальному, так и по автоматизированному тестированию. В основном, наниматели требуют от автотестеров знания языка Java или Python.
В поисковой выдаче сайта на октябрь 2020 года на ресурсе 625 предложений для кандидатов со знанием JavaScript, 382 открытые вакансии для джавистов, 313 вариантов для Front End-разработчиков, 237 вакансий для PHP-программистов, 207 предложений для .NET-девелоперов и 184 варианта для DevOps.
Выбор языка по его назначению
Если вы разработчик, который посвящает время своему обучению и стремится к развитию – в будущем вам будет несложно найти высокооплачиваемую работу, на каком бы языке вы ни писали. Поэтому вы можете попробовать выбрать лучший для изучения язык программирования, ориентируясь на то, чем хотите заниматься.
Мобильные приложения
Большинство современных мобильных приложений – нативные или кроссплатформенные. Первые – написаны под одну конкретную платформу, а кроссплатформенные работают на нескольких, например, на iOS и Android. Многие разработчики на рынке имеют опыт разработки под несколько платформ, однако “узкие” специалисты тоже высоко ценятся.
Чтобы стать разработчиком под Android, вам нужно изучать Java и Kotlin. Google объявил, что считает Kotlin предпочтительным языком для разработки приложений под его платформу. Несмотря на это, вы редко когда встретите вакансии, где от вас будет требоваться знание лишь одного языка, особенно если вас приглашают на давно функционирующий проект.
Основа разработки приложений под платформу iOS – это ObjectiveC (построенный на Си) и Swift. Вам пригодятся оба языка.
Чтобы заниматься разработкой кроссплатформенных приложений, вам нужно будет изучить какой-либо фреймворк. Вот наиболее популярные на 2020 год:
- Xamarin (написан на C#);
- React Native, Ionic (написаны на JavaScript);
- Flutter (написан на Dart).
Веб-сайты
Ориентируясь на веб-разработку, вы можете заниматься бэкэндом (серверной частью веб-приложения), фронтендом (клиентской частью, или браузерной), или же стать full stack разработчиком.
Бэкенд
Бэкенд большинства современных сайтов написан на PHP. Этот язык очень прост в изучении и применении, на нем основано большинство популярных движков. PHP зачастую выбирают для создания сайтов-визиток, корпоративных сайтов, интернет-магазинов, однако также позволяет создавать и более сложные решения.
Второй по популярности инструмент веб-разработки – фреймворк ASP.Net. Этот язык часто выбирают для разработки высоконагруженных приложений и проектов уровня Enterprise (особенно ориентированных на западных клиентов). Для работы с данным фреймворком вам понадобится знание C# или Visual Basic.
Реже для разработки серверной части веб-приложений используют Python, Java и Ruby.
Проще всего будет найти работу PHP-разработчику (за счет распространенности языка), однако, к примеру, .NET-разработчики, как правило, имеют более высокие заработные платы и меньше типовых проектов.
Фронтенд
Основа фронтенд-разработки – это HTML, CSS и язык программирования JavaScript. Именно на JS построены популярные фреймворки Angular, React, VueJS и прочие, активно использующиеся в разработке современных веб-приложений.
Опытные фронтенд-разработчики рекомендуют начинать обучение с HTML и CSS, затем изучить JavaScript и только потом переходить к фреймворкам, написанным на этом языке.
Также веб-разработчики используют язык запросов SQL. Это очень узкоспециализированный язык, однако он неизменно попадает в топы по популярности за счет того, что подавляющие большинство веб-приложений обращаются к базам данных модели SQL. Этот язык стоит изучить всем будущим веб-разработчикам.
Десктопные приложения
Большинство десктопных приложений разрабатываются на C++, Java и Python.
Самый популярный из них – С++. Например, именно на нем пишут свои продукты Adobe – Photoshop, Acrobat.
Java постепенно теряет свою привлекательность для разработки приложений для десктопа, а Python продолжает довольно активно использоваться. С его помощью создают как простые приложения (например, заметки), так и более сложный софт (приложения для обработки графики, торрент-клиенты и прочие).
В основном, игры для ПК и консолей пишут на C и C++. Примеры популярных игр, написанные на этих языках: GTA5, World of Tanks.
Гораздо реже используются Java и Python (чаще всего для RPG-игр или для части общего функционала, как это было в SIMS4).
Также актуален язык C#, с его помощью разрабатывают игры на движке Unity.
Работа с данными, в том числе Machine Learning
Работа с данными – весьма популярное и перспективное направление для современного разработчика. Среди самых востребованных языков для работы с Big Data, а также для машинного обучения – Python, R, C++. Менее популярны, но не менее актуальны Java, C#, MATLAB, Go.
Embedded разработка
В embedded разработку идут те, кто любит работать с “железом”. Помимо языков программирования вам понадобится множество других знаний, однако ваш необходимый базис для написания программного кода – язык C++ или Python.
Если вы из тех, кто хочет попробовать себя в разных сферах, выбирайте универсальные языки программирования: С++, C#, Python или Java. С ними вы сможете работать на интересных и сложных проектах, а также быстрее сменить направление, если оно вам наскучит.
Как эффективно изучать языки программирования?
Если у вас нет технического образования, будьте готовы к преодолению себя и множеству сложностей. Потому как тем, у кого оно есть, нет разницы с какого языка начинать погружение. Обычно ребята с хорошей технической подготовкой понимают, как что работает, что возможно, а что нет и почему. Без технического образования и аналитического мышления вам придется больше работать над собой, но все препятствия преодолимы, главное – это упорно идти к своей цели.
Хотим предостеречь тех, кто считает, что программирование может освоить каждый, а увлекающиеся люди – сказка. Обычно те, кто идет в IT-сферу за деньгами, мотивированы на саморазвитие меньше тех, кто этим горит. Если вы из тех, кто собирается в IT за высоким достатком и только, то вам придется учиться и разбираться, возможно, больше, чем тем, у кого горят глаза.
Изучать выбранный вами язык программирования можно разное количество времени и разными способами. Делимся с вами советами от наших сотрудников.
Team Lead ISsoft Павел отметил, что в самом начале важно делать больше, чем делают другие. «Нужно читать книги, постоянно думать, когда пишешь код, и разбираться в том, что делает каждая строка кода. Конечно, в нашем ремесле никуда без непрерывного профессионального самосовершенствования», – подчеркнул Павел.
- Равномерно распределите время обучения. Например, вы договариваетесь с собой, что занимаетесь каждый день по часу. Так, спустя 10 часов – 10 дней, вы сможете уже начать практиковаться, а не только изучать теорию. Регулярные занятия позволят вам постепенно и качественно вливаться в тему, а небольшие временные промежутки – разбить материал на части, которые легче запомнить.
- Отслеживайте и принимайте участие в образовательных проектах. Так вы сможете получить знания от опытных специалистов и прокачать свои скиллы быстрее. В ISsoft, например, есть Тренинг-центр, который приглашает на бесплатные курсы обучения по разным направлениям.
- Придумайте свой проект. Чтобы сразу закреплять знания и применять их на практике, вы можете, например, придумать свой сайт и даже использовать его в дальнейшем как часть портфолио.
- При изучении языка окружайте себя единомышленниками. Всегда интереснее что-то начинать вместе. Так будет с кем поразмышлять и пообщаться на тему, которая отнимает все ваше свободное время, а также посмотреть глазами другого человека, понять его логику и точку зрения. Если никто из знакомых не созвучен с вашими желаниями, ищите сообщества, где можно найти единомышленников.
- Не забывайте про посещение тематических митапов, конференций, смотрите видео и читайте книги. Напитывайте себя информацией со всех сторон. Конечно, кто-то не разделяет наше мнение и скажет вам, что важнее всего ваш опыт. Но мы настаиваем на том, что опыт должен поступать вместе со знаниями и разносторонним взглядом на одну тему.
Также мы рекомендуем изучить список университетов, в которых готовят белорусских программистов.