Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Самый перспективный язык программирования


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

326 проголосовавших

У вас нет разрешения голосовать в этом опросе или просматривать его результаты. Пожалуйста, войдите или зарегистрируйтесь для возможности голосования в этом опросе.

Рекомендуемые сообщения

Всем привет, я прочитал 4 страницы, на остальное меня не хватило, но не встретил тут упоминания про такую систему программирования как Forth (не путать с Fortran). А ведь в ей написана система искуственного интелекта Lisp, да и вообще, писать на этом языке одно удовольствие, все программирование заключается лишь в определении слов, нужна новая функция, берешь и определяешь новое слово через уже существующие, а существующие определены через другие и так далее до нескольких слов описанных на ассемблере. Так что программа получается очень маленькой после компиляции. Сама компиляция тоже проходит быстро и просто, причем есть несколько вариантов компиляции, это прямой код, шитый код, косвенно шитый код. Прямой код представляет из себя прямой поток команд без переходов вообще, косвенно шитий код, это наоборот, на ассемблере определенны слова низкого уровня, а все остальное через переходы. А шитый код это промежуточный вариант. В результате получаем, если надо чтобы программы или часть программы выполнялась быстро, компилируем ее в прямом коде, если надо чтобы меньше места занимала, то компилируем в косвенно шитом. Проблема только в одном, современные процессоры довольно медленно работают с косвенно шитом кодом, т.к. там сплошные переходы, а вычислений практически нету, однажды были попытки создать специальный компьютер для языка Forth, но что-то все это заглохло и не получило распространеия.

Но я все равно думаю, что раз все стремятся к искуственному интелекту, то за Forth'ом будущее.

Ссылка на комментарий
Поделиться на другие сайты

kvazimoda:

Но я все равно думаю, что раз все стремятся к искуственному интелекту, то за Forth'ом будущее.
Это писали с момента появления Форта. Он остроумно придуман и бьет рекорды по размеру программ, но человеку писать на нем неудобно. Конечно, есть и всегда будут любители этого языка. Для программирования микроконтроллеров с маленькой памятью он хорошо подходит. Но похоже, что маленькая память осталась в прошлом, а в остальном у него преимуществ нет. Он из той же серии языков, что и LISP - на любителей и для специальных применений. Фактически это метаязык - для его эффективного использования надо на нем написать свой собственный язык более высокого уровня, но этот язык другим людям будет непонятен. Поэтому будущего за ним я не вижу.

А вот восхититься гибкостью Форта - это всегда пожалуйста :D

Ссылка на комментарий
Поделиться на другие сайты

kvazimoda: я не путаю, язык ФОРТ я знаю достаточно хорошо, но ОПЗ убивает наповал, да и скорость компиляции не принципиально + если учесть что компиляция самого языка достаточно долгий процесс и самое главное 2 2 + . 4 ...ИМХО тяжело, добавлю ещё что "2" можно объявить как слово/фунция/константа тогда 2 2 + . 18 ....те ФОРТ требует предельной осторожности.

Тролль: позволю не согласится, скорее всего в твой монитор встроен форт-процессор, да и есть дополнения, которые позволяют писать на ФОРТе без ОПЗ, я об данной разработке писал на форуме.

Ссылка на комментарий
Поделиться на другие сайты

Indomito:

есть дополнения, которые позволяют писать на ФОРТе без ОПЗ
Ну естественно, это как раз то, о чем я упомянул: "для его эффективного использования надо на нем написать свой собственный язык более высокого уровня". Насчет монитора не знаю, но возможно - для микроконтроллеров он хорош. Долго думаешь при написании, программа выполняется медленно, зато влезает в маленькую память. А ОПЗ применялась и в первых программируемых калькуляторах, сначала пишешь, что надо посчитать, затем переписываешь в ОПЗ, фактически сам выполняешь роль компилятора. Конечно, можно это переложить на Форт, но тогда это не Форт, да и все равно получается половина программы с ОПЗ, а половина без ОПЗ - верное средство наделать ошибок.

Основная беда ИМХО не в ОПЗ, а в том, что Форт не следует человеческой логике (если... то.. иначе...). Конечно, и это можно в него ввести, как и замену ОПЗ, но тогда Форт окончательно скатывается к роли метаязыка - мы для начала на Форте пишем Не-Форт. Вообще мне Форт нравится как остроумная выдумка, но программирование на нем сложно без нужды в этом (для обычных целей).

Ссылка на комментарий
Поделиться на другие сайты

Тролль: да о мета языке, помнится давно мне пришлось написать структурный макроассемблем, это весьма похоже на семи-язык, там и массивы объявлять можно было и писать конструкции if () then () else() end. Только ты прав это всё не то, да и большая проблема переноса возникла.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Обьясните мне пожалуйста, почему Visual C++ и Builder C++ стоят в одной группе, а так же С/С++ и C#?

С# вообще никакого отношения к Си не имеет, копия явы, только еще хуже.

Ну, а builder и visual на одну планку ставить, себя не уважать.

Ссылка на комментарий
Поделиться на другие сайты

Странно что так много любителей С# и никто из них ни словом ни делом за Java, а зря - одна из самых перспективных технологий...

Что же касается будущего то я думаю что для разных задач можно использовать разные языки. Что - то требует Асма, что - то С++, С# или Java, а где -то можно обойтись и Delphi.

Ссылка на комментарий
Поделиться на другие сайты

Скриптовые языки, Жаба и .НЕТ - далеко не то по быстродействию... А оно важно и сейчас! Попробуй реализовать алгоритм Дейкстры(поиск путей) для пары тысяч точек :bye1:

Это надо же, Java назвать скриптовым языком... А про JIT compiler ты вообще гичего не слышал? И, между прочим, медленность Явы - миф, для начала надо ознакомится с результатами тестов, а после этого уже делать какие-либо заявления. Ява не случайно распространена среди научного сообщества, и в среднем сравнима по скорости с C++: какие-то математические алгоритмы работают до 2-х раз медленне, какие-то до 2-х раз быстрее.

Java, однозначно.

Ссылка на комментарий
Поделиться на другие сайты

Я голосовал за Turbo Pascal, так как только на нем и работал...

:)

Нет, ну я понимаю, хороший язык. Для начинающих. Но у него нет будущего. Сейчас везде GUI нужен, а не консоль.

Имхо, Delphi и C++.

Ссылка на комментарий
Поделиться на другие сайты

А лично я считаю, что у Явы большое и светлое будущее (С++ - на втором месте). Дело в том, что уже давно появилась необходимость в создании мультиплатформенных прог и игр, чтобы их можно было переносить из Винды в тот же Линукс без всяких излишеств (типа GTK). С++ пока что не в состоянии сам, без расширений и дополнений, работать в разных операционках. А насколько я знаю (читал разную литературу в Сети), у Явы такой проблемы нет.

Может, я ошибаюсь, конечно. Но из этой литературы читал, что Ява специально создана как язык для мультиплатформенных прог (на базе С++).

Ссылка на комментарий
Поделиться на другие сайты

  • 5 лет спустя...

C, не C, а сети развиваются и "крутое ПО" остается на стороне сервера, на стороне клиента остается браузер. И вот тут-то уже рулит JavaScript!!! Изучайте JS & HTML! без них не нужны программы никому!

Ссылка на комментарий
Поделиться на другие сайты

С - самый популярный без спора, но вот только не самый перспективный и даже не лучший - это уж точно. Язык для генерации багов. Думаю, как раз из-за популярности языков семейства Си ПО сейчас поставляется AS IS. То есть вы должны смирится с падением Фобос-Грунтов, не говоря о косячности офисного ПО. Слишком много зависит от дотошности программиста.

Самые перспективные языки программирования - функциональные. Там много рутины переложено на машину. Это Лисп, Haskel и т.п.

Кроме того, пришла эра многопроцессорных вычислений. Распараллеливание в этих языках уже давно встроено. А распареллеливать ручками на Си - это адский ад.

Сам пишу на Дельфи, если что.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

Ни один из перечисленных языков не является переспективным. И в будущем не создадут язык, который станет самым переспективным.

Серебрянной пули никогда не будет.

Фраза "язык общего назначения" звучит как "и швец, и жнец, и на дуде игрец".

Фраза "программист на <подставить любой язык> языке" круто звучит только в детском саду (ни одну девочку уже не удивить этой фразой :)).

Программист никогда не скажет что "я программист на <таком-то> языке", такое могут сказать лишь кодеры-неучи (которые скоро пойдут подметать подъезды, ибо кризис [слава Богам!]). Программист скажет - "я программист, знающий <такую-то> предметную область (области). Могу решать <такие-то> задачи".

Все попытки создать "язык для всех задач" обречены на полнейший провал. Попыток было достаточно (Ada, C++, Java, Cobol, ...) --- провал. Полный.

Очевидно, что будущее за предметно-ориентированными языкими.

Бросайте учить C++, Delphi, Basic, Pascal и прочее --- инструмент вторичен. Учите математику, исследуйте предметные области. Выбирайте инструмент под задачу. Будте разумными людьми.

Ссылка на комментарий
Поделиться на другие сайты

В общем смысле я с вами согласен. Более того, я сам работаю как предметник.

Это потому, что я и постановщик задачи, и тот, кто формулирует ТЗ, и выбирает алгоритм, и кодирует, и тестирует, и сопровождает, и делает презентации по результатам работы софта.

Но, вот, жизнь программиста как вида берёт своё.

"Теорехтически, она, конечно, женчина, но прахтически - баба!" (С) Не помню чей.

А практически - посмотрите как звучат вакансии для программистов.

Изменено пользователем Teddy_Bear
Ссылка на комментарий
Поделиться на другие сайты

Все попытки создать "язык для всех задач" обречены на полнейший провал. Попыток было достаточно (Ada, C++, Java, Cobol, ...) --- провал. Полный.
Ну уж, ну уж... C++ и Java - одни из наиболее распространенных языков. А Cobol как раз язык не универсальный, а специально для экономистов, причем очень тупых. Он начинал с того, что сложение двух чисел надо было писать как

СЛОЖИТЬ 3 И 4 ПОЛУЧАЯ F

Конечно, надо знать предметные области, знание только языка - почти ничто. Но мало знать предметные области, надо знать и инструменты для работы в них. Собственно, C++ и был задуман как метаязык - язык, на котором можно создавать специализированные языки для предметных областей с помощью классов, переопределения (точнее, доопределения) операций и так далее.

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

Ссылка на комментарий
Поделиться на другие сайты

В общем смысле я с вами согласен. Более того, я сам работаю как предметник.

Это потому, что я и постановщик задачи, и тот, кто формулирует ТЗ, и выбирает алгоритм, и кодирует, и тестирует, и сопровождает, и делает презентации по результатам работы софта.

Но, вот, жизнь программиста как вида берёт своё.

"Теорехтически, она, конечно, женчина, но прахтически - баба!" (С) Не помню чей.

А практически - посмотрите как звучат вакансии для программистов.

Практически, те вакансии, которые выкладываются работодателями на рекрутинговых ресурсах, расчитаны, в большинстве случаев, на кодеров.

Но иногда встречаются с такими названиями вакансии на интересную работу именно программистов. Это скорее некая дань единообразию и конъюктуре.

Всё же собеседование расставляет точки над и. Если работодателю нужен программист, способный решать задачи, от человека будут требовать знания множества разных технологий и языков, а также фундаментальное математическое образование.

Кодер же будет удивляться, почему с него спрашивали какие-то странные и "не нужные" в его работе вещи и не взяли на работу :-)

Изменено пользователем Ego Drama
Ссылка на комментарий
Поделиться на другие сайты

Собственно, C++ и был задуман как метаязык - язык, на котором можно создавать специализированные языки для предметных областей с помощью классов, переопределения (точнее, доопределения) операций и так далее.

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

Нет. C++ никакого отношения к метапрограммированию не имеет и задумывался он не для этого (Страуструп решил скрестить С и Симулу, для своих крамольных задач). DSL писать на С++ очень сложно и не эффективно. Классы никакого отношение к метапрограммированию не имеют (при помощи классов невозможно изменить сематнику языка, они не для этого предназначены). Метапрограммировать на С++ можно template'ами, но очень тяжело и не удобно. Template'ы задумывались как средство для реализации в C++ парадигмы `generic programming', и значительно позже выяснилось, что template'ы обладают некоторыми механизмами для метапрограммирования. Но фактические, ничего сложнее чем boost::spirit на шаблонах до сих пор не написали.

Если нужен язык для создания языков, то в мире таких вещей много: Lisp, ML, OCaml (ocamlp, ocamllex, ocamlyacc), Haskell, Ruby и др. В плане возможностей метапрограммирования любая из этих технологий заткнёт за пояс плюсовые шаблоны.

Универсальных языков не существует и никогда не будет существовать.

Ссылка на комментарий
Поделиться на другие сайты

Ego Drama

Универсальных языков не существует и никогда не будет существовать.
Ассемблер - абсолютно универсальный язык. По сути, это "очеловеченная" запись машинных команд. Однако на нем писать долго. Язык C появился как стенография для Ассемблера, к тому же он обеспечил сведение Ассемблеров для разных машинных языков к единым обозначениям, очень мало теряя в эффективности, что позволило ему распространиться на совершенно разных семействах компьютеров.

Но при всей эффективности, переносимости и универсальности С - язык невысокого уровня. Поэтому Страуструп действительно скрестил С и Simula, получив очень жизнеспособный гибрид - многопарадигменный универсальный язык, хочешь - пиши на ООП, хочешь - на обычном процедурно-ориентированном уровне, хочешь - чуть не на ассемблерном.

Кстати, универсальные языки высокого уровня существовали и раньше. Например, для мэйнфреймов таким был PL/1, который даже в специализированных областях типа экономических вычислений задавил специально для них предназначенный упоминавшийся Вами COBOL.

Насчет семантики - тоже спорно. Когда я определяю для объектов класса "космический корабль" операцию + как их стыковку, я изменяю семантику языка, да и вообще создаю новый язык описания операций в космосе.

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

  • 3 года спустя...

Хоть тема и не совсем новая, но оставлю своё скромное мнение.

Имел небольшой опыт написания программ на C++, C#, Java. C++ из этих трёх более мощный, более всеобъемлющий, реализует много разных парадигм. Но как язык он в наши дни, имхо, напоминает некий набор костылей. Многие, скорее всего, со мной не согласятся. Но это проявляется в самых разных мелочах.

Взять то же ООП: вроде бы в C++ есть классы, но общая идея ООП (что всё является объектом, все методы и поля относятся к конкретному классу, и не могу "валяться" где-то снаружи) реализована в нём как-то "не до конца". На этот счёт многие, конечно, ответят типа "зачем ооп ради ооп?". Но в таком случае, это не объектно-ориентированный язык, а просто Си с классами (...исключениями и некоторыми дополнительными ништяками). Абстрактные методы, абстрактные классы и интерфейсы - всё это в C++ объявляется как-то слишком коряво (virtual int f(int x)=0;... omg! нельзя было что-ли добавить ключевые слова abstract и interface за столько лет?). Подключение заголовочных файлов - отдельная тема. Почему компиляторы C++ до сих пор не умеют элементарно сравнивать имена заголовочных файлов и, в случае их совпадения, автоматически исключать многократное включение содержимого одного и того же заголовочного файла (в результате приходится юзать директивы препроцессора, что уже выглядит как тоже своего рода "костыль") Неужели кому-то действительно когда-то требовалось включать один и тот же заголовочный файл дважды? Понятное дело, что C++ разрабатывался в свою очередь как совместимый с Си язык. Но, наверное, именно это делает его таким "упоротым", хотя и мощным в то же время.

Когда я после C++ впервые опробовал C#, я словно пересел с жигуля на авто производства Баварской Моторной Фабрики. Красивый, понятный синтаксис, полноценное ООП. Мне больше не нужно париться над подключением файлов: здесь в самом коде к ним вообще никакой привязки нет. Кто-то справедливо заметит, что C# - это практически клон Java - другого не менее годного яп. Но, в то же время, у Java есть один недостаток - он очень медленно развивается, а потому значительноотстаёт от того же C#. Можно сказать, что C# - это форк Явы, который когда-то отделился от неё и стал самостоятельным яп, в котором теперь присутствуют такие полезные ништяки, как структуры (позволяющие передавать данные по значению), события, свойства, лямбда-выражения, LINQ... чего в Яве нет. Помимо всего прочего, C# имеет и указатели (правда, только для элементарных типов и структур). Нужно вам выделить участок "неуправляемой" памяти для работы (как в C при помощи функций malloc и calloc) - пожалуйста, есть целый класс Marshal с необходимыми для этого функциями. Нужно заюзать функцию из сишной библиотеки? - есть P/Invoke.

C# мне очень нравится в том смысле, что это действительно современный, постоянно развивающийся язык, который к тому же, вполне можно использовать как для десктопных приложений, так и для веба, и для мобильных ОС.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

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

Вы для начала про фортран почитайте и поймите его концепцию. Расшифруйте слово ФОРТРАН.

 

Ссылка на комментарий
Поделиться на другие сайты

Самый перспективный язык программирования - 1С. Там ещё goto сохранился! Интерпретируемый аки бейсик. Та-дам! Да ещё на русском!

Во-первых. Посмотрите на объявления о вакансиях для программистов. Половина из них - 1С.

И второе. Хорошие, годные языки программирования в смысле математики и инженерии разрабатываются профессионалами - энтузиастами. Но проходит несколько лет и они уже фтопке. Коммерческая программа должна обязательно глючить, виснуть, требовать постоянно обновления, сопровождения и внимания финансового директора и бухгалтера. То есть она должна требовать оборота денежных средств. Это главный критерий успеха.

Ссылка на комментарий
Поделиться на другие сайты

Как я понял речь о 1С бухгалтерию.

Далее только моя точка зрения:

В пользу 1С скажу,(простите если ошибусь иль не точен буду).
Это грандиозный, хороший продукт(чётко для своей цели) для систем бух учёта стран бывшего соц. лагеря.
Весьма перспективный, востревованный особенно в соединение с Bitrix, Postgree, Linux.
Бухгалтерам более не надо.А следовательно и экономия на лицензии.
И спокойные нервы сис. амина.

Аналогом того же 1С в германии, и больших концернов России (кажется металлургия) является SAP

Я с вами не соглашусь.(И делюсь своим наблюдением рынка IT.)
В частности вы рассматриваете рынок востребованности в IT специалиста вашего региона.
С коммерческой точки зрения. Исходя из оплаты труда.

Самые высокие (дальное зарубежье) по оплате программисты на сегодня:
(в порядки убывания, хр.ру, фрилансы.ру и аналоги не рассматриваю)

 ПО ФИРМАМ:
 - iOS Developer/Android Developer/Java Developer
 - ASP.NET C# /C++/MsSQL,Oracle database developer
 - SAP, Flash(ActionScript),MS Project -редко
 - PHP Developer/ много страшных фрэймворков
 - Python/Django/QT
 - С и Аsеmler - (да. используют в разраб-и измирит. приборах)
 - Perl,Rubby - редко
 - PHP (wordpress,Drupal,Magento- шаблонизация)
 - HTML/CSS (Fronеnd-вёрстка)
   Помимо знания и JS, знаия фраймворков Jquery, MVC, GIT,Simfony, AJAX, .
   (тоже не сладко)
  * 2D ,3D художники, аниматоры, дизайнеры - отдельная категория...
  * Bitrix разработчики весьма пользуются спросом в основном в РФ

  ПО ФРИЛАНСУ забугорному (не по деньгам, по спросу на итишника):
- Wordpress,Php,Css,JS...
- Magento|Ecomers...
- Drupal/Joomla/Php,Css,JS...
P.S.
часто вордпресс либо CMS не указана.
Доводы в пользу вэб разработчика во всяком случае за бухгалтерию не "переживаешь".

В варианте же с 1С
- востребован только на территоии бывшего соц лагеря и то не везде.
- не работаешь на дядю, у которого что не задержка то ... в лучшем случае.
- Придётся помимо хорошего знания встроенного языка программирования, Разбираться в  различных конфигурациях продукта,Торговля,Склад,Кадры, Слияний/Объединений,SQL,  и прочего, ууууууу...
Знать и бухгалтерию, и налогообложение.Может и таможенное дело Да,Да!

Поскольку никакая, курсы прошедшая бухгалтерша/секретарь или как там заведено. Нибудит разжовавать придметную область. А именно, рисовать на бумаги процентовки. Разъяснять суть.(формулы). Чтобы поняв сие мы воплотили в коде...

 - И самое тяжелое (с моей т.з.) выяснение отношений, связи с ошибкой/сбоем - потерей данных в Б,Д. ...
(... принесения материального ущерба, компании.)
Между Бухом, Админом и программером, при ауд. коммиси...
Поскольку за чью то (из 3х лиц)лень, или криворукость.
Придётся доказывать, оправдываться, а может и 'фэйс оф тэйбл'  и тп и тд.

Хочу сказать что многие сайты  объявлений  не терять лица ВРУТ. Но эта совсем другая история...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...