Комментарии 128
Не думаю, что сильно ошибусь: это самые популярные опросы на Хабре.
А не видите их потому, что обязательно кто-то скажет, что см. мое первое предложение, топик заминусовывают и он уходит в глубины Хабра.
А не видите их потому, что обязательно кто-то скажет, что см. мое первое предложение, топик заминусовывают и он уходит в глубины Хабра.
Интересно почему :) Ведь найти более менее адекватную статистику не удалось, можете ткнуть ссылкой если есть такая где-то, буду благодарен
вы еще и не указали некоторые языки, например под iOS не только на Obj C писать можно…
Может это связано с тем, что подобные опросы перенесли на GT? Вот первое, что попалось.
Не очень хорошо ищете.
По языкам программирования в Гугле по запросу «programming languages share»
www.tiobe.com/index.php/content/paperinfo/tpci/index.html
programmers.stackexchange.com/questions/160461/programming-language-trends
По операционным системам в том же Гугле:
www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0
www.statista.com/statistics/268237/global-market-share-held-by-operating-systems-since-2009/
По языкам программирования в Гугле по запросу «programming languages share»
www.tiobe.com/index.php/content/paperinfo/tpci/index.html
programmers.stackexchange.com/questions/160461/programming-language-trends
По операционным системам в том же Гугле:
www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0
www.statista.com/statistics/268237/global-market-share-held-by-operating-systems-since-2009/
Я извиняюсь, Вы скорее всего не поняли опроса. Интересует использование ОС именно для программирования, а не в целом.
Числа различаются настолько, что невольно задаешься вопросом — кто прав.
Скорее, это вы не очень хорошо ищете, если предлагаете статистику, в которой у C 17%, PHP — 3%, а JS — 2% XD
Если кратко, то на C пишется почти весь embeded код, видеоигры, операционные системы и очень много серверного кода. Если интересно более побробно, то на SW есть вопрос об этом What makes C so popular in the age of OOP?.
А на JS пишется большая часть web — (почти) весь фронтэнд и часть бэкэнда — вы серьёзно верите, что у него 2%? :) Сочувствую.
Оу, товарищ, насравший в карму, объясните мне, пожалуйста, почему вы не верите в то, что доля JS больше 2%? :)
Честно, затрудняюсь сказать, верю или нет, потому что сам очень далёк от веб разработки.
Но по поверхностным впечатлениям, JS кода не так много. Да, он есть почти во всём веб фронтэнде последних лет, но, обычно, если нажать F12, то видим всего пару небольших файлов. Вот прямо на этой странице Хабра загружаются 5 JS файлов, в которых совсем мало кода.
В корпоративном ПО его ещё меньше. Бывает, что JS нет вообще.
Но по поверхностным впечатлениям, JS кода не так много. Да, он есть почти во всём веб фронтэнде последних лет, но, обычно, если нажать F12, то видим всего пару небольших файлов. Вот прямо на этой странице Хабра загружаются 5 JS файлов, в которых совсем мало кода.
В корпоративном ПО его ещё меньше. Бывает, что JS нет вообще.
Ситуация давно изменилась. Web сейчас одна из самых крупных областей программирования, если не самая. Клиенты с каждым днём всё толще и толще — счет пошел на мегабайты. На клиенте у JS альтернатив нет. Топка GitHub.
GitHub — не показатель.
Зато показатель — опрос в данной теме и показатель — рейтинг соответствующего хаба на хабре %) Точно 2% :)
Что показывает рейтинг github'а? На каком языке делается большинство современных opensource проектов?
То, что средний хабровчанин — вебдев под Win удивило, конечно. Видимо, есть некоторая корреляция по используемым инструментам. Надо бы посмотреть опрос «пользуетесь ли вы гитхабом». Думаю, многое прояснило бы.
То, что средний хабровчанин — вебдев под Win удивило, конечно. Видимо, есть некоторая корреляция по используемым инструментам. Надо бы посмотреть опрос «пользуетесь ли вы гитхабом». Думаю, многое прояснило бы.
каюсь, чистое любопытство движет мною :) ну и потом, мне зачастую говорят, «да никто на твоем линуксе не программирует, сказки это все, винда рулит», и мне как бы и хочется возразить но фактов-то нету (неважно что у них тоже нету как-бы), вот. А это — тот самый факт. Выборка конечно не идеальная, но сгодится и такое
То о чем вы говорите — применимо, только не всегда верно. Java — вообще не важно под чем писать и под чем будет запускаться. Мы сейчас пишем код в Windows, который будет выполняться в Linux. Второй момент, если мы берем какие-то специфические ОС, то не всегда на этой ОС есть средства для разработки. Проще написать код в Windows Linux, а уже тестировать его на соответствующей ОС.
«Java — вообще не важно под чем писать и под чем будет запускаться.»
Как говорила моя бабушка — три раза «ха».
Вы таки реально думаете, что любой код написанный на Java будет соответствовать вашим словам?
Как говорила моя бабушка — три раза «ха».
Вы таки реально думаете, что любой код написанный на Java будет соответствовать вашим словам?
Я не рассматриваю крайние случаи. Всегда можно написать код как на паскале :-)
Можете привести пример?
Без платформозависимого кода.
Все реальные проблемы с кроссплатформеностью в Java связаны с вызовами древних java.awt.*, которые никто не правит (как пример, TrayIcon под Linux не умеет в прозрачность) либо с тем, что программисты забывают учесть кроссплатформенность.
У вас были другие случаи?
Без платформозависимого кода.
Все реальные проблемы с кроссплатформеностью в Java связаны с вызовами древних java.awt.*, которые никто не правит (как пример, TrayIcon под Linux не умеет в прозрачность) либо с тем, что программисты забывают учесть кроссплатформенность.
У вас были другие случаи?
да, например когда не озаботились о нюансах работы с разными кодировками в разных ОС.
Или при разработке под виндой, хардкодно разделители пути к файлам указали чисто виндовые
А ещё есть нюансы использования разных JRE — например IBM JRE не совсем заменяет Oracle JRE и можно словить артефакты при запуске под IBM JRE, а то и вовсе нерабочее приложение.
Или при разработке под виндой, хардкодно разделители пути к файлам указали чисто виндовые
А ещё есть нюансы использования разных JRE — например IBM JRE не совсем заменяет Oracle JRE и можно словить артефакты при запуске под IBM JRE, а то и вовсе нерабочее приложение.
Это все можно уместить в
Юзайте Path, он избавлен от этих проблем и легко конвертируется в File и обратно.
Указывайте кодировку, когда читаете и записываете файлы.
А еще python 2.7 совсем не похож на python 3 и не запустится. А программа на .Net 4.5 не запустится под XP.
При любой кроссплатформенной разработке есть нюансы. Если правильно писать на Java, сразу учитывая кроссплатформенность или >6 API, то тонкости будут сведены к минимуму.
забывают учесть кроссплатформенность.
Или при разработке под виндой, хардкодно разделители пути к файлам указали чисто виндовые
Юзайте Path, он избавлен от этих проблем и легко конвертируется в File и обратно.
когда не озаботились о нюансах работы с разными кодировками в разных ОС
Указывайте кодировку, когда читаете и записываете файлы.
А ещё есть нюансы использования разных JRE
А еще python 2.7 совсем не похож на python 3 и не запустится. А программа на .Net 4.5 не запустится под XP.
При любой кроссплатформенной разработке есть нюансы. Если правильно писать на Java, сразу учитывая кроссплатформенность или >6 API, то тонкости будут сведены к минимуму.
не думаю что ошибусь: наверное вы ошиблись на счет «уходит в глубины Хабра»
Тут скорее все зависит от того, на каком языке)
Подобный опрос — Дистрибутив, среда, оконный менеджер Линукса дома? habrahabr.ru/post/216269
О, спасибо, хоть и не совсем то, но похоже. В приведенном Вами опросе уклон все-таки более на Linux-пользователей (программистов в том числе).
Я же хочу узнать мнения программистов вне зависимости от того где и под чем они пишут код в целом, дома либо на работе — не важно.
Я же хочу узнать мнения программистов вне зависимости от того где и под чем они пишут код в целом, дома либо на работе — не важно.
Мне понравилось, как для большей репрезентативности выборки по первому пукту, этот пост находится только в хабе «Настройка Linux»)
Go в списке языков пропустили.
Мне кажется удачнее было бы один опрос завести и все в один список свести. Чтобы было понятно на какой оси больше концентрация приверженцев определённых ЯП
Идея неплохая, но в её реализации, как говорится, проблем не оберёшься. Сейчас в опросе четыре варианта ответа на вопрос об операционной системе и одиннадцать вариантов ответа на вопрос о языке программирования. В сводном опросе поэтому было бы 4×11=44 варианта ответа, так что опрашиваемые затруднились бы прочитать их и выбрать из них даже в том случае, если на Хабрахабре поддерживалось бы создание опросов с таким колоссальным числом возможных ответов.
Интересно, кто ответил «другая» на первый вопрос. AIDE как-то совсем неудобная вещь, по-моему.
А как же покодить на каком-то Andoird?
Андроид, вообще говоря, попадает под второй пункт. А в качестве «другой» подходят, например, Kolibri, Haiku и ReactOS.
Программирование под ReactOS — программирование под Windows, поэтому нет, это не «другая».
Объясните, за что минус? ReactOS — совместимая с Windows на уровне ABI, и не имеет каких-то ReactOS-специфичных функций (т.к. это сломало бы обратную совместимость с Windows). Программирование под ReactOS идет при помощи тех же инструментов, на тех же языках, с использованием точно тех же методологий, что и под Windows, и результаты разработки для этих двух систем взаимозаменяемы и запускаются и там, и там. Разницы между программированием под ReactOS и под Windows нет.
В чем тогда «другаявость», кроме идеологической?
В чем тогда «другаявость», кроме идеологической?
Тогда стоит называть графы «nix-системы, win-системы». GNU is not Unix же.
В том-то и дело, что UNIX-овость ни о чем не говорит в плане процесса разработки, используемых сред, языков и т.д. К примеру, и HP-UX, и OS X — оба сертифицированные юниксы, но при этом они кардинально отличаются друг от друга во всем, кроме соответствия спецификации UNIX. Нельзя сказать, что программист под OS X сразу нащупает нужные крутилки в HP-UX, что справедливо и в обратную сторону.
С ReactOS и Windows всё обстоит иначе. ReactOS — полный клон (надеется таковым быть), полностью бинарно совместимый. В далеком-далеком будущем, когда ReactOS выпустит свою первуюальфу бету, между ReactOS и Windows можно будет поставить знак равенства во всех отношениях, кроме лицензии и тонкостей реализации, функционально неразличимых с точки зрения программиста ни юзерспейса, ни ядра.
В общем, tl;dr — «nix-системы» слишком абстрактная категория, включащая в себя кучу разношерстного софта, «win-системы» полностью консолидирована и представлена только двумя живыми тождественными продуктами — windows и reactos, поэтому такое деление не ок.
С ReactOS и Windows всё обстоит иначе. ReactOS — полный клон (надеется таковым быть), полностью бинарно совместимый. В далеком-далеком будущем, когда ReactOS выпустит свою первую
В общем, tl;dr — «nix-системы» слишком абстрактная категория, включащая в себя кучу разношерстного софта, «win-системы» полностью консолидирована и представлена только двумя живыми тождественными продуктами — windows и reactos, поэтому такое деление не ок.
между ReactOS и Windows можно будет поставить знак равенства во всех отношениях, кроме лицензии и тонкостей реализации, функционально неразличимых с точки зрения программиста ни юзерспейса, ни ядра.Это не совсем так. Например NTVDM сделан там иначе, он будет работать на x64 и ARM, когда как на винде он только под x86, потому что в винде завязано на режиме 8086. Кроме этого, в ROS давно есть менеджер приложений (Package Manager), хотя в 10 винде будет уже Chocolate из коробки. ReactOS со временем может обрасти вещами которые по ABI совместимы, а по концепции нет. Это сложная тема.
В ReactOS уже давно есть рабочие столы, и интерфейс там немного другой.
Тогда нужно говорить об окружение: если KDE + Konsole можно запустить на Windows то собственно мало отличий от Linux тогда будет (mingw и т.д. ).
Тогда нужно говорить об окружение: если KDE + Konsole можно запустить на Windows то собственно мало отличий от Linux тогда будет (mingw и т.д. ).
А я программю под любой ОС на VHDL. Мне куда галочку ставить? =)
Напомнило старую шутку: «программисты на FORTRAN могут писать на любом языке программирования на FORTRAN».
Ну я не знаю. На VHDL это не очень «чистое» программирование, это инженерия больше. Особенно если переносы сигналов с одних частот на другие и прочие трюки. Но если чатоты низкие, работаешь в одном клоковом домене и делаешь простой автомат по case, например, то вроде как и программирование чистое получается.
Правильней бы ее перевести так:
Программисты FORTRAN могут писать FORTRAN программы на любом языке программирования.
Программисты FORTRAN могут писать FORTRAN программы на любом языке программирования.
Есть ли люди, которые программируют в основном только на SQL, а на других языках очень редко? Просто интересно.
Называются «архитекторы баз данных».
Не только. У меня вот был опыт работы, где реализация всей бизнес-логики писалась на SQL в виде хранимых процедур в базе.
В любом случае вы выполняли работу «архитектора баз данных». Если мне приходится кропать\ресайзить картинки после художников, то я выполняю работу художников, хотя по должности — программист.
А языки хранимых процедур разве формально не считаются подмножеством семейства языков SQL? Или все-таки нет?
Отчёты делают.
Запрос для отчета это только данные. Представление все равно как-то нужно делать.
Обычно это не совсем программирование. Получением данных занимается движок (Microsoft Reporting Services, Crystal reports и т.д.), и методами, предусмотренными данным движком, формируется представление данных.
У нас, например, движок формирует из результатов хранимой процедуры файл XML, и мы этот файл преобразуем с помощью XSLT
У нас, например, движок формирует из результатов хранимой процедуры файл XML, и мы этот файл преобразуем с помощью XSLT
Накидать textbox и label в отчёт дело двадцати минут, редко когда требуются хитровымученные отчёты с кучей об'единённых ячеек и разбивкой на группы. А запрос можно и пару дней писать, чтоб в такую форму подошёл. И уж тем более можно ни строчки кода не написать внутри самого отчёта, хотя и все известные мне движки это позволяют, некоторые могут даже не догадываться об этом.
У меня противоположный опыт :) Почти любой SQL-запрос пишется максимум за день, чаще за час. Правда потом его можно оптимизировать бесконечно — но это другая история. А вот к отчету начинаются бесконечные итеративные требования — а тут так, а тут эдак, а еще форму вначале сделайте, да не такую а сякую, а тут диаграммы впихните. А здесь промежуточные итоги по группам. И пошло-поехало.
Опыт из автоматизации торговли, если что.
Кстати не видел еще ни одного движка отчетов, где можно было бы без программирования сделать что-то чуть сложнее обычного. Но и пробовал не так уж много — FastReport, Rave. Что еще посоветуете?
Опыт из автоматизации торговли, если что.
Кстати не видел еще ни одного движка отчетов, где можно было бы без программирования сделать что-то чуть сложнее обычного. Но и пробовал не так уж много — FastReport, Rave. Что еще посоветуете?
Если что-то выходит за рамки разбить на группы и подвести итог по ним, то, наверно, нет такой системы, где это можно было б провернуть только мышкой. Мне чаще всего требовались именно такие отчёты, чтоб удобно было экспортировать в Excel и дальнейший анализ проводить там. Когда-то (лет шесть-восемь назад) мне нравилась Stimulsoft reports, она была много удобнее FastReport. После неё к FastReport так и не привык, правда она была какой-то старой версии. Больше уже не подскажу, переехали на MS и скучаю по старым отчётам.
«Что-то чуть сложнее обычного» — слишком неопределенные требования :)
Мне вот нравится MS Reporting Services, много интересного функционала, хотя есть и узкие места — тяжело реализуемый или нереализуемый функционал.
Еще некоторое время назад знакомился с такой штукой, как QlikView — посмотрел, пооблизывался — судя по описанию, штука весьма вкусная и интересная, с возможностями, бОльшими, чем у большинства подобных систем. Но руки так и не дошли даже потестить — попробовать реализовать что-то свое на этом движке, поэтому опыта реального использования нет.
Мне вот нравится MS Reporting Services, много интересного функционала, хотя есть и узкие места — тяжело реализуемый или нереализуемый функционал.
Еще некоторое время назад знакомился с такой штукой, как QlikView — посмотрел, пооблизывался — судя по описанию, штука весьма вкусная и интересная, с возможностями, бОльшими, чем у большинства подобных систем. Но руки так и не дошли даже потестить — попробовать реализовать что-то свое на этом движке, поэтому опыта реального использования нет.
Я, например. Как выше указали, в основном это отчеты, но на предыдущем месте работы у нас было больше десятка разработчиков, которые разрабатывали корпоративную информационную систему на Oracle Forms — и там единственным языком программирования был PL/SQL.
Есть.
А ничего, что .Net это технология, а НЕ язык программирования?
Не поверите, но есть люди, у которых самый часто используемый язык — bash :)
Хм, а если я _программирую_ на Go под Win, но потом компилирую в бинарник для FreeBSD, где оно и работает — то что мне выбрать?:)
OS X третья по популярности — я удивлен, хотя это логично по ряду факторов. А вот то что линукс на втором месте — это более странно.
Таки первый опрос не очень объективен — по факту вы сравнили количество программистов под различные платформы, а не популярность использования ОС для программирования вообще.
Под Windows так или иначе ответят все .Net-программисты, iOS разработчики тыкнут в OS X, веб-программисты тыкнут в линукс или/и OS X (тут концентрация веб-девов велика) и так далее.
Конечно нельзя забывать про универсальность, но все же есть предпочтения под задачи (ОС — тоже инструмент).
Так что да, согласен с Gorthauer87'ом, так было бы правильней.
Таки первый опрос не очень объективен — по факту вы сравнили количество программистов под различные платформы, а не популярность использования ОС для программирования вообще.
Под Windows так или иначе ответят все .Net-программисты, iOS разработчики тыкнут в OS X, веб-программисты тыкнут в линукс или/и OS X (тут концентрация веб-девов велика) и так далее.
Конечно нельзя забывать про универсальность, но все же есть предпочтения под задачи (ОС — тоже инструмент).
Так что да, согласен с Gorthauer87'ом, так было бы правильней.
Мне кажется, что популярность Окон среди программистов падает, вот потому и решил проверить. Я сам.нет-чик, но была бы возможность нормально кодить под Linux-ом, сразу перешел бы с Окон, до.нет-а был руби и Linux пару лет, и честно я не думал что буду с такой настальгией вспоминать те годы.
Я вебдев и программирую под виндой, т.к. есть кроссплатформенные Vagrant и PhpStorm, а винда просто привычнее, тем более, в том же Шторме под виндой отрисовка интерфейса работает чуток быстрее.
У Win всегда есть существенный аргумент в любом подобном опросе — корпоративный сектор.
У линукса есть не менее существенный RHEL в корпоративном секторе.
Кстати, человек, сидящий на винде, но программирующий через NX/VNC/ssh на сервере с линуксом выберет линукс или винду в опросе?
Кстати, человек, сидящий на винде, но программирующий через NX/VNC/ssh на сервере с линуксом выберет линукс или винду в опросе?
Согласен, в таком случае на усмотрение, ибо логично было бы выбрать винду, так как он программирует то в винде. Так же точно человек который сидит в линуксе может по rdp работать в винде на VS
Среда программирования ведь Linux. А Windows — это просто клиент для ssh.
Распределение мест совершенно ожидаемо.
Но вот процент макоси заметно выше, чем я думал. Я думал 10-15.
Но вот процент макоси заметно выше, чем я думал. Я думал 10-15.
Чему удивляться? Сами же написали про «предпочтения под задачи».
Проценты не дают в итоге 100
Пишу под Виндоуз, но все остальные в фирме под Маком. Продакшн на Убунту.
Пишем на Java, тесты на Groovy, Data Scientists пишут эксперименты на R, Python, Scala
Пишем на Java, тесты на Groovy, Data Scientists пишут эксперименты на R, Python, Scala
C++, Fortran. OpenMP+MPI
Пишу под MacOS, потом перевожу на Linux-кластер. Иногда отлаживаю под Visual Studio в Windows.
Пишу под MacOS, потом перевожу на Linux-кластер. Иногда отлаживаю под Visual Studio в Windows.
Работаю под MacOS, пишу на Python, Bash, PHP, JS, но программирование для меня — хобби, я админ.
С/С++Доколе?
Должно быть два пункта:
- C
- C++
Тем более в случае мультивыбора.
+1, по статистике (различные источники, втч приведенные выше в комментариях) видно, что тренд по С и плюсам совсем-совсем разный.
А разве С не подмножество С++? Или ошибаюсь?
А разве С не подмножество С++? Или ошибаюсь?Это на самом деле очень распространённое заблуждение.
Посмотрите на объём статьи Incompatibilities Between ISO C and ISO C++ 2001 (!) года для того, чтобы понять порядок различий. С тех пор часть из них стала неактуальной в новых стандартах, но очень многое несовместимо.
Вы также можете лично убедиться в этом, спросив C++ программиста, например, о «designated initializers» или «restricted» указателях, многие не поймут о чём вопрос. Да, что там, strspn() и то могут не знать, хотя эта и многие другие функции присутствуют и в C++.
Где же haskell во втором опросе… Эх, пришлось выбирать «другой».
Много пишу на asm, некоторые части по нейросетям приходилось делать на prolog+lisp. Хочу сделать ИИ.
В остальном php/python/java — для заработка!
В остальном php/python/java — для заработка!
Scala же. Хотя нас таких маловато, наверное :(
А корреляцию между языками и осями покажете? Или это технически невозможно с хабраопросами?
Я пишу преимущественно на C# и достаточно часто на JavaScript. Основная система — Mac OS, собственные проекты пишу в ней в Xamarin Studio, запускаю потом на Linux. Рабочий проект — в Visual Studio на виртуалке (ибо остальная часть команды использует Windows).
Под какой ОС или под какую ОС?
Существует такой TIOBE Index языков программирования, который довольно точно отвечает на второй вопрос.
любопытно, а что за «другая» ОС, под которой программируют аж несколько сотен хабравчан?
Inferno.
Правда, я забыл галочку на «другая ОС» поставить.
Правда, я забыл галочку на «другая ОС» поставить.
Если я правильно понял вики, то получается такая цепочка:
т.е. эта ОС относится к упомянутому пункту «Linux/Unix».
Или потомки Unix к Unix не относятся?
Inferno > Plan 9 > Unix
т.е. эта ОС относится к упомянутому пункту «Linux/Unix».
Или потомки Unix к Unix не относятся?
Если уж взялись проводить опрос, надо было ответственно подойти к этому: взять мой предыдущий опрос годичной давности, выкинуть пункты, за которые никто не проголосовал, добавить новые языки, типа Swift и другие, которые за год с ничтожной приобрели какую-то популярность, а так же те, которые просили в комментариях.
А вот так, сделать пост тяп-ляп за 10 минут, по-моему, очень беспонтово.
А вот так, сделать пост тяп-ляп за 10 минут, по-моему, очень беспонтово.
Итак, результат опроса показал: большинство программирует под Windows на Javascript :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Под какой ОС и на чем вы программируете?