@Temnik
Ну очень начинающий developer.

Для выполнения каких задач какой язык программирования подходит?

Извиняюсь за не очень хорошо сформулированный вопрос, но все же, часто слышу мнение, что каждый язык сделан под свою группу задач. С другой стороны слышал, что якобы можно программировать все и на всем, различие только в простоте и лаконичности метода выполнения задачи.
Объясните пожалуйста, как на самом деле воспринимать языки программирования-как инструмент выполнения определенных задач, или как наоборот, как универсальный инструмент, и приведите примеры пары-тройки ЯП с их основными функциями.
  • Вопрос задан
  • 5076 просмотров
Решения вопроса 1
Jump
@Jump
Системный администратор со стажем.
каждый язык сделан под свою группу задач
так и есть.
якобы можно программировать все и на всем, различие только в простоте и лаконичности метода выполнения задачи.
Это так, но с некоторыми оговорками.

Компьютер понимает один язык - машинные коды.
Человеку этот язык крайне неудобен поэтому для удобства делаются языки более-менее понятные человеку после чего программа переводится в машинный код понятный компьютеру.

Например самый низкоуровневый - ассемблер.
Минимум абстракции близок к машинным кодам - язык очень гибкий и сделать на нем можно что угодно, но написать на нем обычный текстовый редактор вроде блокнота - это куча кода и месяцы работы.
Или взять C довольно низкоуровневый язык, позволяет что угодно, но тоже объемный проект очень долго писать, хотя конечно на порядок быстрее чем на ассемблере. Можно написать драйвер на нем.
А вот всякие C#, пайтон - это уже языки более высокого уровня - писать гораздо быстрее, не надо думать о выделении памяти, и вообще пофиг что там и как под капотом. Десяток строк кода и у вас уже работает нейросеть. Но драйвер для устройства на них уже не получится написать.

Ну и есть специализации - например php это язык для серверного бэкэнда для этого он разрабатывался и неплохо себя в этом показывает. Написать на нем обычное десктопное приложение затруднительно, хотя и можно, но это будет набор костылей.
Пайтон - универсальный, подходит для написания бэкэнда, для скриптов администратора, для научных расчетов, на нем можно и десктопные приложения писать.
C# заточен для работы в майкрософтовской инфраструктуре - если нужно написать десктопное приложение идеальный язык.
Java - корпоративный язык.
JS - скрипты администратора, фронтэнд.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
angrySCV
@angrySCV
machine learning, programming, startuping
bash, sql, html, mathLab - языки заточенные под определенные задачи, мало подходящие для других задач.
Популярные языки типа python, js, java, scala, с++ -> подходят для любых задач (но с определенными сложностями, необходимы библиотеки, обертки, нужно писать много лишнего кода)

вот например в баше чтоб получить список файлов - нужно ввести ls
чтоб сделать тоже самое на JAVA - необходимо целую программу написать, строк на 10), потом ее скомпилировать, а потом запусить джава машину и передать ей этот код. Довольно геморройное занятие для такой задачи.
----
но нужно понимать что в томже баше простота для простых задач (типа обработки файлов и текстов), выливается чудовищную сложность для более сложных задач.
П. С.
если работаешь только с одним типом задач - то тебе выгодно использовать заточенный под эту задачу язык.
Если работаешь большим количеством разнообразных задач в разных сферах, то лучше освоить и использовать один инструмент (язык) общего назначения но на высоком уровне - чем 10 специализированных инструментов на посредственном уровне.
Я например на scala - пишу фронтэнд, бэкенд, работаю с БД, пишу скрипты вместо баша, создаю быстрые наброски прототипы (вместо питона), и запускаю теже самые прототипы в продакшен где требуется высокая производительность и многопоточная обработка данных.
Нигде не касаюсь вообще никаких других языков.
Ответ написан
js: веб (фуллстек, как в браузере, так и в качестве бекенда), если не важна производительность - десктоп ("лишняя" зависимость в виде браузера для рендеринга gui).
C#: десктоп, сервисы (например, веб-бекенд)
С/С++: сервисы, десктоп, системные задачи (драйверы, ОС).

Сколько бы вы не хотели, но, например, на яваскрипте не написать драйвер под windows...
Ответ написан
@goblinboom
Java,HTML,CSS,Bootstrap
Я думаю тебе стоит углубиться по лучше в эту тему поскольку тебе говорят довольно стандартные вещи по типу html для веб(капитан очевидность).
Когда ты начнёшь учиться программировать ты будешь очень много гуглить (мало сказано) и понятие о языках придёт само. Поэтому стоит просто попробовать)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы