Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 1 / 0
Регистрация: 24.06.2019
Сообщений: 23
1

Выбор языка программирования. Как сделать правильный выбор?

28.06.2019, 18:48. Просмотров 1120. Ответов 3
Метки нет (Все метки)


Здравствуйте.
Существует проблема выбора языка программирования.
Я понимаю, что язык программирования лишь инструмент. По этой причине я более подробно опишу мои задачи.
Прежде всего отмечу, что я знаком с основами популярных языков программирования, знаком с ООП. То есть начинаю не с полного нуля.
Я хотел бы заниматься разработкой настольных приложений, мобильных приложений, веб приложений.
Ещё мне интересны встраиваемые системы, машинное обучение и робототехника. Но я понимаю, что за месяц, пол года до этого дойти трудно, и помимо программирования, нужны знания в других сферах. Потому это не близлежащие перспективы.
Например интересно, как работает медицинское оборудование, как работает сканер отпечатков пальцев, как работает база с отпечатками, передача с сканера в программу и т.д.
Я определил для себя 4 языка программирования.

C++. Гигант, на котором можно разработать все. Тем более, вышеперечисленное.
Однако, разработка проектов на C++ как правило происходит в больших командах разработчиков, да и от новичка до первой программы со смыслом уйдёт больше времени, чем в других языках программирования.

C#/Java. Я не вижу смысла изучать и тот, и другой язык программирования, и выбираю 1 из них.
Java меня привлекает кросс-платформенностью. Все же нельзя сказать, что Java плохой язык программирования, если на нем были разработаны такие вещи, как Одноклассники, IDE от JetBrains, и даже игры. Minecraft начали разрабатывать еще при Java 7. Если тогда это было возможным, то я представляю, какие возможности можно получить с Java сегодня.
Встраиваемые системы возможны с Java. Давайте не будем забывать, что марсоходы работают на Java. Хотя мне говорили, что это эффективнее с C, так как занимает меньше оперативной памяти.
C# привлекает меня синтаксисом. C# язык программирования, на котором я разработал больше всего кода. Он манит своей простотой.
1 мой знакомый разработчик попробовал Android Studio с Java и Xamarin с C# и сказал:
***
Вы можете создавать как мультиплатформенные приложения, так и приложения, специально предназначенные для Android. Во втором случае у вас есть объектная модель, очень похожая на ту, что была в Java, потому что Xamarin охватывает почти каждую библиотеку Android Java. Это означает, что вы можете прочитать пример проекта на Java и затем легко найти C# эквиваленты используемых классов и методов. Еще одним плюсом является то, что разработчики Xamarin не просто скопировали все из Java, но отредактировали его таким образом, что вы можете использовать встроенные функции Android с красивыми именами в C#. Это, конечно, немного меняет API, но если вы знаете C#, вы можете легко предсказать, как.
Я не знаю, как это понятно, поэтому приведу простой пример того, что я имею в виду.
Это код Java для вызова метода при нажатии кнопки:
Java
1
2
3
4
5
6
7
8
9
*** *** activateButton=findViewById(R.id.activateButton); 
*** *** activateButton.setOnClickListener(new Button.OnClickListener() 
*** *** *** { 
*** *** *** @Override 
*** *** *** public void onClick(View v) 
*** *** *** *** { 
*** *** *** *** activateButton_Click(); 
*** *** *** *** } 
*** *** *** });
Представьте, что в вашем приложении около 20 кнопок и вы хотите реагировать на их нажатия. Это мой любимый аргумент, когда я критикую Java.
Для сравнения, здесь то же самое в C# Xamarin, ActivButton в данном случае okButton, но функциональность та же:
C#
1
2
okButton=FindViewById<Button>(Resource.Id.okButton); 
*** *** *** okButton.Click+=okButton_Click;
Вот почему я люблю C#.
***
Однако, в C# есть проблемы. Встраиваемые системы не так возможны с C#, как с Java, ну и проблемы стабильности. Вчера был Silverlight, сегодня его нет и т.д.

Python. Классный и одновременно ужасный.
Классный из-за простоты. Ты быстренько можешь составить небольшую программку, и она будет работать!
Классный из-за универсальности. Ты можешь использовать Python во многих областях.
Ужасный из-за ООП. Вы видели инкапсуляцию в Python? Если да, то вы понимаете. Если нет, лучше вам ее не видеть.
Ужасный из-за производительности. Пока нет крупных серверов, это нормально. А дальше, без хороших библиотек, хорошие сервера невозможны без гибрида с C++.
Спасибо, что есть Django.

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

Что вы можете мне посоветовать? Как сделать правильный выбор?

Заранее благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.06.2019, 18:48
Ответы с готовыми решениями:

Выбор языка программирования
Я понимаю, что вопрос немного странный, но постараюсь кратко обрисовать ситуацию. Отучился в...

Выбор языка программирования
Всем привет. Я учил язык программирования Delphi. Сейчас думаю переходить на C#. Какие программы...

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

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

3
зомбяк
1436 / 1098 / 312
Регистрация: 14.05.2017
Сообщений: 3,579
28.06.2019, 19:25 2
Цитата Сообщение от albest Посмотреть сообщение
разработка проектов на C++ как правило происходит в больших командах разработчиков
Нет.

Цитата Сообщение от albest Посмотреть сообщение
Я хотел бы заниматься разработкой настольных приложений, мобильных приложений, веб приложений.
Начни с чего-нибудь. Всё и сразу всё равно не получится, а для чего-то конкретного какие-то инструменты лучше, какие-то хуже.
Цитата Сообщение от albest Посмотреть сообщение
Например интересно, как работает медицинское оборудование, как работает сканер отпечатков пальцев, как работает база с отпечатками, передача с сканера в программу
"А кто даст". Все передачи на уровне прикладного программирования обычно абстрагируются до уровня "чтения файла/записи в файл" и только. А для "как работает" нужно изучать матан соответствующей области, языки программирования тут не при чём.
0
4119 / 2696 / 385
Регистрация: 01.06.2013
Сообщений: 5,686
Записей в блоге: 9
28.06.2019, 21:50 3
Тут постоянно появляются спрашивающие какой язык выбрать. И, обычно, так и не могут выбрать, спрашивают тут постоянно годами.
Если у тебя на футболке написано "Я люблю ООП!", то в программирование микроконтроллеров и встраиваемых систем не ходи. А остальное ты сам должен выбрать.

Для Android лучше всего Kotlin, код даже короче и понятней C# будет. Хорошо продуманный, относительно свежий язык.
Для всего остального советовать бесполезно, т.к. вы, выбиральшики, всё равно не можете выбрать.
Так что учи С++.
0
3268 / 2330 / 425
Регистрация: 28.04.2012
Сообщений: 7,815
29.06.2019, 12:09 4
Цитата Сообщение от albest Посмотреть сообщение
Представьте, что в вашем приложении около 20 кнопок и вы хотите реагировать на их нажатия. Это мой любимый аргумент, когда я критикую Java.
Для сравнения, здесь то же самое в C# Xamarin, ActivButton в данном случае okButton, но функциональность та же
Java
1
activateButton.setOnClickListener(this::okButtonClick);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2019, 12:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как сделать правильный выбор между C# и Java?
Здравствуйте. В далеком прошлом, я занимался пустой тратой времени. А именно - выбором языков...

Выбор языка программирования для задания С4 ЕГЭ
Проблема заключается в следующем: мне критически важно выполнить это задание на максимальный балл;у...

Выбор языка программирования под конкретные задачи! Python/C#/C++ или другой
Здравствуйте. Тема, которую я рассматриваю уже очень много времени. Но мне надоело стоять на...

Правильный выбор для начинающего
Добрый день! Ребенок хочет программировать:) 12 лет. Не могу сделать правильный выбор в пользу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.