Незнаю как с семействами, раньше был PASCAL (функциональный), потом OBJECT PASCAL( ООП) а сейчас официальное названия языка программирования DELPHI (ООП).
Википедия всегда права только в целом, там всегда есть ошибки в деталях. Вы же сами выше сказали официально слово Pascal убрано из того языка что в Delphi, и что сам он называется также.
Ладно, спор и правда ниочем. Лучше скажите, вы часом не в курсе, в FPC привели синтаксис дженериков к совместимому с дельфи, или так и осталось надмножество подмножества?
Про консервативность я писал только про ObjectPascal, иначе бы использовал «которые», а не «который». А разработкой ПО на FPC+Lazarus я как раз и зарабатываю себе на жизнь. Потому и написал первый коммент. Но разработчики на Delphi такие разработчики на Delphi.
Delphi — официально назван языком еще при Borland'e. Почитайте комменты выше внимательнее. Пруф — педивикия + ряд заявлений на старом сайте Borland'a. Даже не буду ссылки искать, исчерпанный вопрос уже.
Да я понимаю, просто мое образование началось с того, что каждый раз когда мы говорили что прогали на делфи (много с него кто начинал) нам говорили, что делфи это среда, а язык программирования object pascal, вот и въелось…
Ну не стоит убиваться. Оно всегда так бывает. Я еще мелким говорил «сиквел сервер», потом мой учитель-напарник научил говорить «эскьюэль», я долго переучивался, но привык. Какого же было удивление, когда мы впервые попали на MS конференцию…
С тех пор я так и не вернулся к правильному произношению («сиквел» — оно было интуитивно, не могу сказать как нащупал), но стал чаще бывать на таких мероприятиях.
А у меня хорошие :) Когда все кричали — «вау в ,Net есть класс Aplication, посмотрите Aplication.Ran() и все, как это круто по сравнению с MXC & etc» [названия и ситуация выдуманная, любые совпадения являются случайными], шел уже 4ый год релаксации, потому что VCL крут.
До сих пор бывают ситуации, когда мне дешевле и проще расчехлить D2007 и решить задачу в x-раз быстрее.
0_о А почему ты объединяешь Perl с командными оболочками???
Начиная курса с третьего и на протяжении почти четырёх лет усиленно писал web-приложения на Perl.
Лично у меня Perl не ассоциируется с Башем и ПоверШеллом (а cmd тут вообще при чём? — он шибко слаб, чтоб с нормальными оболочами тягаться)
Или ты считаешь Perl не языком, а шеллом??
Или на cmd можно писать сервера и мощные web-приложения ala webmin?
Просто полагал, что на Перле сейчас уже не пишут софт, кроме сугубо специфичного.
В тех сферах, где я работаю, Perl напрямую связан с шеллами, т.к. используется в автоматизации сборки софта, релиз-инжиниринге, системном администрировании, во всякого рода мониторинге инфраструктуры.
Ставить Perl в один ряд с cmd — это вообще глубокое неуважение.
Где в списке ASM ну и Brainfuck, наконец?
Где среди сфер программирования пункты:
— Я программирую микроконтроллеры;
— Я программирую клиент-серверные приложения (это могут быть какие-то сервисы, осуществляющие взаимодействия корпортивных серверов приложений и серверов баз данных, т.е. и не для веб, и не десктопное ПО). Ну или пункт «я пишу различное внутрикорпоративное ПО».
И вообще зачем в один опрос запихали сразудве сущности:
1) распределение по языкам программирования;
2) распределение по сфере программирования (веб-сервисы, десктопные приложения, мобильные приложения).
Считаю, что нужно хабру разработать механизм, чтобы перед началом опроса было некоторое время для его анализа и добавления результатов сообществом. А то каждый раз кто-то да что-то забудет.
> зачем в один опрос запихали сразудве сущности
А мне наоборот понравилось. Т.к. хабр не позволяет создавать сложные опросы, то это единственный нормальный способ познать вопрос с разных сторон (ну кроме ещё создавания кучи новых однотипных опросов).
Опять же, тут лучше разделить. Скажем, на груви я пишу отдельные модули в приложении на платформе Java, благо груви компилируется в java bytecode. Но грейлс не используется — используются RESTful сервисы и ExtJS.
Не совсем согласен: flasher.ru — спецефическое сообщество, и конечно AS там будет преволировать, но Хабра более общее все-таки, где все более сбалансировано.
как видите нет. А всё просто: Я на самом деле люблю C/C++ и именно ими владею лучше всего, но зарабатываю на жизнь php + javascript + actionscript3 + вёрска, потому что там адекватнее деньги, интереснее задачи и динамичные коллектив.
Хм, если честно странно. Т.е., вы вы можете говорить, что владеете С лучше чем JS /PHP, если зарабатываете деньги последними (или вы на зарабатывание денег тратите 3-4 часа в день?).
Немного не понял. Мне всегда казалось, что лучше всего знаешь те технологии, которые используешь в повседневной работе всеже.
Или вы на С/С++ делаете по вечерам какие то свои проекты, контрибьютите в какие-то опен-сорс проекта?..
На С++ и на AS3 я делаю свои проекты. Программирование на С++ доставляет мне истинное эстетическое удовольствие. Я владею С++ лучше чем каким либо другим языком, достаточно хорошо представляю себе во что это компилируется, хотя остальными я тоже владею на нормальном уровне(в том числе некоторые тонкости объектной модели, оптимизации, по js и as3 неплохо соображаю ECMAscript и представляю во что это компилируется и как исполняется на виртуальной машине.) Только за мой уровень на C++ мне предлагают меньше денег чем за веб сферу. Я не умею писать на C++ быстро, а люблю это делать вдумчиво и красиво. И да, работаю 9 часов в день, включая обед, который я причисляю к рабочему времени. На работе я работаю, а дома занимаюсь творческим программированием, где есть идеалы, красота и тонкость. А и ещё. Я работал С++ кодером, я сильнее уставал и приходил домой в состоянии выжатого лимона, в веб технологиях такого нет. Ну и веб динамичнее, сегодня одно, завтра другое, не закиснешь.
Вариант выглядит как «LISP || Prolog || OWL». Связи между ними почти никакой. Можно было сказать просто «Я зарабатываю на мёртвых языках». А вот Common Lisp, на котором люди действительно зарабатывают, в вариантах почему-то нет.
Автор, разберись в предметной области, прежде чем составлять опрос.
Я ожидал Java или C# — жил не так давно в общежитии университета информатики и радиоэлектроники — данные языки заметно преобладали, то есть на одного «пэхаписта» было с десяток «дотнетчиков». Следовательно у меня слегка оригинальная среда обитания :)
Сам голосовал за Python
По-моему, вполне ожидаемый (даже если не считать, что сам его выбрал :) ). Веб-разработка сейчас (и давно), имхо, самая востребованная область в программировании, а PHP самый популярный язык для неё. Как следствие, даже при желании зарабатывать, программируя на других языках, но не имея опыта/проектов/портфолио и т. д. на них (или вообще), проще всего устроиться php-программистом. Виденные мною в последнее время вакансии Python, C# или Java веб-разработчиков включали требования 1-2 года опыта на данном языке, наличие реализованных проектов и т. п. даже на Junior уровень, на резюме с фразой «опыта разработки на *** нет, но язык изучал, вышлите тестовое задание» просто не отвечают. Так как уровень вхождения в PHP традиционно считается низким, то для многих он был первым коммерческим ЯП (и является текущим), а выбраться из «мэйнстрима» не так просто, если нынешнее руководство не склонно к экспериментам.
Просто львиная часть хабраюзеров вообще ни чем не пользуется, она тут просто тусуется и про обзоры телефонов и убунты читает, а из всего выше перечисленного они знают только популярное слово PHP, не HTML с CSS-ом же отмечать. =)
Не могу сказать. =) Сам тут недавно, не замечал хабр пока не наткнулся на пару уникальных статей по интересующей меня теме, выпросил инвайт чтобы можно было такие статьи коментить а их не стало, наверное хабр уже не торт. =)
Прикольно, пока что по итогам голосования 'Я пишу в основном для веб' и 'PHP' почти синонимы. Странно только что 'HTML && JS && CSS' отстаёт от 'Я пишу в основном для веб'.
ну у нас например на 3 программистов на php — 1 верстальщик на html/js/css, и те и другие пишут в основном под веб.
Не все те, кто пишут на php пишут на html и наоборот
C# не конкурент? Немного знаком с обоими языками: и сами языки показались довольно схожими (и не только из-за заимствованного из C синтаксиса), и средой выполнения. По сравнению с Python/PHP просто близнецы :)
Вы издеваетесь? Я Java использующуюся в корпоративных целях вообще всего один раз видел, всюду или .NET или веб-приложения. Я до недавнего времени вообще думал что Java мертв уже.
Как минимум в каждой второй крупной компании в нашей стране развернуто AD, как минимум каждая третья корпоративная СУБД это MS SQL. В корпоративном секторе продукты мелкомягких преобладают, глупо с этим спорить.
Не буду утверждать за «все компании в нашей стране», так как не имею таких данных, но сменил несколько мест работы, где разрабатывали софт для крупных компаний (для сотовых операторов, для банков и т.д.) и везде в качестве БД был Oracle. То есть на мой взгляд, на некоторых проектах вполне можно было обойтись БД попроще и подевшеле, но всё равно был Оракл. Так что насчёт преобладания мелкомягких в корпоративной среде странное утверждение, имхо. Хотя при этом должен согласиться, что AD, действительно, очень много, где используется, но это нисколько не мешает лишь импортировать оттуда пользователей, а дальше разрабатывать на любой платформе под любую БД, то есть наличие AD не привязывает к мелкомягким.
И уж совсем бредовое утверждение насчёт «Я Java использующуюся в корпоративных целях вообще всего один раз видел» — Java, в основном, именно в этом секторе и используется, и по постоянно появляющимся вакансиям никакого спада не наблюдается — скорее даже наоборот, а то, что вы её не видите означает лишь то, что вы разрабатываете на другой платформе.
ОПСОСы действительно используют в качестве СУБД Oracle, но вся бизнес-логика у того же МТС на C#.NET. И все-таки информационные системы ОПСОСов — это промышленный масштаб, а речь идет о корпоративном рынке, т.е о средних и крупных компаниях не связанных с ИТ. В крупных компаниях используют Oracle, в компаниях поменьше MS SQL Server (он подешевле к слову).
Я не утверждал что Java не используется в корпоративном секторе, я лишь сказал что мне не приходилось встречаться с корпоративными системами написанными на Java (возможно по тому, что до недавнего времени я жил во Владивостоке и там особого спроса на Java-двевелоперов не наблюдал). Постоянный спрос на Java — девелоперов совсем не означает что Java супер востребована, это говорит лишь о том что на рынке не достаточно Java-девелоперов, но никак ни о популярности языка.
Банки связаны с IT? :)
Очень во многих банках используется Java (интернет-банкинг, софт для отделений банка, управление кредитами и т.д.). .Net в этой сфере, кстати, тоже используется, и я так понимаю, что зачастую даже бывает, что часть проектов на Java, а часть на .Net.
Не холивара ради, а просто из интереса — для .Net много серверов приложений? Чтобы можно было развернуть приложение в кластере, с прозрачной миграцией сессий между нодами кластера и т.д. Просто по ощущениям, зачастую Java выбирают именно из-за возможности создавать подобные масштабируемые отказоустойчивые приложения. Ну, и отсутствие привязанности к конкретной ОС (это не укор в сторону .Net — это, действительно, один из критериев при выборе платформы для разработки) тоже играет не последнюю роль.
Возможно, у меня, действительно, другие понятия о корпоративных приложениях, как раз из-за того, что пишу на Java и, соответственно, имел дело с теми компаниями, где она используется. Но используется она очень много где, поверьте :)
Про спрос на Java-девелоперов: имхо, девелоперов, довольно много, так как язык уже достаточно давно существует, но новые вакансии продолжают появляться (при этом не только поддержка существующих решений, но и разработка новых, что является важным показателем жизнеспособности). Так что мне кажется, что количество вакансий по какой-либо платформе довольно объективный показатель её востребованности.
Если я правильно помню, то где-то писали, что количество вакансий на .Net за последние пару лет довольно сильно выросло, но при этом спрос на Java тоже растёт — пусть и не такими темпами, как раньше, но и запас перед .Net имеет достаточный для того, чтобы, как минимум, не уступить к тому, времени, когда спрос на .Net тоже стабилизируется.
PS:
В том же МТС, кстати, система для корпоративного дистанционного обучения в удалённых филиалах написана на Java :)
А как вы связываете Java и сервер СУБД? За исключением того, что МССКЛ имеет по понятным причинам несколько лучшую интеграцию с .NET, чем Java, разницы особой нету.
Вы работали в компаниях которые писали софт под заказ для других как я понял, я же сменил за 5 лет четыре места работы, три из них порограммистом в ИТ-отделах компаний среднего бизнеса, коих у нас в стране большинство. Видимо поэтому наше видение картины в целом так различается.
Но главная ошибка это то что JEE это спецификация. Где сан (ныне оракл) предоставляет рефресную реализацию компонентов, но она не единственная и даже не всегда лучшая
////Ну разве только что сам язык (Java) немного устаревший. Специфицированных /////
////возможностей рантайма имхо больше. И не забывайте, что все эти возможности
////доступны на всех платформах.
Если уж сравнивать .NET и Java, то давайте рассматривать Java не как язык, а как платформу. Платформу для исполнения байткод и необходимые сервисы (такие, как загрузка классов, GC, JIT-compiler etc).
А после этого вспомнить, что существует около двухсот языков, портированных на JVM платформу. От питона и Руби, до хаскелла и лиспа. А кроме того, есть и совершенно новые языки, как созданные специально для JVM (Groovy), так и просто очень хорошо с ней работающие (Scala).
А еще вспомним то, что в Java 7 будет поддержка инструкций InvokeDynamic в JVM.
Т.е., скорость работы динамических языков, портированных на платформу Java, будет приближена существенно по скорости к самой Java.
С# не конкурент, если вести речь о рынке серверов приложений. Я пишу на Java и PHP более 10 лет. Специализация — веб-приложения, сервера приложений. Лишь один раз за эти годы мне довелось писать приложение, которое потом работало под управлением Windows. Намек понятен?
С# станет конкурентом, когда Windows станет преобладать на рынке серверных ОС и я не верю, что этот день наступит. Потому что платформа J2EE — это возможность использовать простой и ОЧЕНЬ ТЕХНОЛОГИЧНЫЙ язык программирования, это библиотеки высочайшего качества с открытым исходным кодом, это бесплатные среды разработки, бесплатные и очень качественные сервера с поддержкой создания масштибируемых решений.
Так что я не верю в то, что популярность Java падает. Просто Хабр далеко уже не программерский сайт. А насчет морально устаревшего говна — идите в задницу. С тех пор как я написал кусок сайта siemens.com на самопальном MVC-фреймворке, корреляции между новизной технологий и успешностью проекта для меня не существует.
>Лишь один раз за эти годы мне довелось писать приложение, которое потом работало под управлением Windows. Намек понятен?
Не понятен: C# это не только Windows и не только .NET, а международный стандарт, реализовать который может любой и на любой платформе. Насчёт библиотек и прочего не скажу, пока сравниваю для себя только языки на «кошках», используя при этом OpenJDK и Mono, оба под Linux.
«Международный» стандарт, в котором формат исполняемых файлов — PE, а библиотек — dll. MS для галочки открыла стандарт не позаботившись о его кроссплатформенности, а мы получили половину wine в mono.
Открыть свой формат и стандартизировать его на международном уровне, по-моему, разные вещи. Открыть какой-нибудь формат я и сам могу, дайте только минут 15, чтобы его придумать :) А вот стандартизировать его в ISO мне будет затруднительно ;(
О реализации C# и прочих смежных технологий в mono ничего не скажу, использую их пока в учебных целях как «чёрный ящик» (равно как и другие языки/технологии).
Мы с вами в разных весовых категориях. Вы изучаете технологии, а я веду их промышленную эксплуатацию. Для вас вполне допустимо рассуждать о потенциале языка, а для меня риски, связанные с использованием малораспространенных платформ просто неприемлемы.
Имхо, вас интересуют не распространённость платформы, а отношение «стоимость владения»/«долговременные риски». Если, например, Oracle заявит о прекращении поддержки Java, но без передачи всех наработок в общественное достояние, или сделает следующую версии JRE/JDK платными, причём далеко не с символической платой — вы станете хотя бы оценивать эффективность перехода на другую платформу/язык? А меня интересует не потенциал языка, а эффективность разработки горизонтально масштабируемых приложений на нём практически с нуля, т. к. условия использования большинства сторонних библиотек, фреймворков и т. п. для нас не приемлемы (либо требуют открытия кода, либо платны, причём не за символическую плату).
Стоимость владения? По-моему понятие «технологичность» в данном случае точнее. Насколько сложно освоить язык? Насколько он хорошо читается? Стимулирует ли к грамотному структурированию кода и именованию переменных? Удобен ли в коллективной работе? Насколько пригоден для автоматического рефакторинга? Насколько строг к ошибкам программиста без костылей юнит-тестирования? Позволяет ли генерировать документацию?
Из кроссплатформенных языков самым технологичным я считаю Java. C# вполне достоен, но для меня он условно-кроссплатформенный. Java архаична, говорите? Согласен. Но вот, к примеру, автомат Калашникова тоже не вчера изобрели, а ведь спрос не падает.
Говорить о долговременных рисках врядли стоит. Если ваш проект проживет 5-7 лет, это будет хороший показатель. Если платформа была распространенной, она по-любому дольше протянет. И не смешите меня рассуждениями на тему «Яве скоро конец». Я на эту тему еще в Фидо дискутировал. При наличии OpenJDK и кучи заинтересованных лиц, в числе которых IBM и Google, делать JDK платным просто не имеет смысла.
Просто для справки: Java активно применяется в банковской сфере. Сторонние библиотеки и фреймворки в разработке не используются. По соображениям безопасности всё своё и всё с нуля.
Еще в первом ответе вам хотел написать — с чего вы взяли, что я говорю про «устаревшее говно» и т. п. Я без всякой задней мысли задал вопрос, т. к. выбираю на какой язык переходить и стоит ли вообще.
Меня особенно понравилась фраза все свое и все с нуля… Очень жесткая фраза.
Довелось поработать и на java и на C#. Может быть из за плохого архитектора с которым мне довелось работать в проекте под java, но джава меня не впечатлила. Да, .net есть сын джавы и да, этот сын перерось отца (или мать:)).
И опять таки если мы говорим о качестве продуктов и простоты сопровождаемости то джава проигрывает. Почему? ОпенСурс, огромное количество реализаций всего чего только можно. В последствии сложность интеграции чего только можно. Сложность подбора специалистов из за огромного количества реализаций всего чего можно.
Да, джаве плюс только за кроссплатформенность. В остальном она проигрывает. Начнете говорить про сервера приложений? Посмеюсь. Потому что до си пор для меня загадка ЗАЧЕМ их столько?! Вот на дотнете в приципе один сервер приложений, великий IIS. И знаете что? Мне ни разу не понадобился другой.
Хороша аналогия с автоматом Калашникова. Плюс за нее.
Это не столько проблема Java, сколько проблема подхода, основанного на открытости вообще. Для других открытых платформ происходит тоже самое. Посчитайте, к примеру, количество фреймворков для PHP.
Можно говорить о том, что выбор избыточен, и это будет правда. Но ведь можно говорить о том, что выбор есть! И это тоже правда.
Ну то что вы сказали про то что это проблема не Java, а открытости вообще, проблема в самой Java не исчезла. :) И если вы взвесите все еще раз, то вы поймете что по тем параметрам которые вы выше охарактеризовали как «технологичность», и еще по другим о которых вы не сказали, Java очень сильно проигрывает своему сыну.
Так что вам, как человеку ведущему промышленную эксплуатацию, советую пристальнее взглянуть на дотнет. Вы будете сильно удивлены. :)
Ох эти холиварс… Надо кончать. Джава не сдохнет до тех пор, пока дотнет не станет кроссплатформенным. А он не станет им никогда. Так что джава никогда не сдохнет (сука). :)
Я изучал C#. Я хорошего мнения о языке и платформе вообще. Но полученные знания оказались невостребованными для моей специализации.
Считаю, что указанные вами проблемы преувеличены. Если говорить о библиотеках Java, то они нереально многочисленны, но среди них достаточно выделить те, которые можно принять за промышленный стандарт. Например, Apache Commons, Log4J, JUnit, Hibernate, JasperReports. Вот их надо знать, остальное — опционально. Мейнстрим-библиотеки неплохо интегрируются промеж собой через Spring. Даже если Spring не поддерживает интеграцию с какой-то библиотекой, то хорошая библиотека считает себя обязанной такую поддержку в Spring добавить (например Stripes, Wicket). В общем, не все так плохо.
Можно было бы еще поговорить о недостатках .Net Framework, которые проистекают из идеологии закрытости. Они ведь есть. Но как-то уже влом, если честно.
Во-первых, отчет IDC — это статистика ПРОДАЖ серверов. 48.9% — это процент в доходах от ПРОДАЖ. Во-вторых, IDC уже ловили на предвзятом отношении и неточной статистике. Официальная точка зрения IDC на их отчеты такова: «опубликованные результаты не отражают официальной точки зрения IDC на предмет, поскольку подстановка значений различных переменных в модели может приводить к различным результатам, что неоднократно заявляла публично наша собственная исследовательская команда».
Я больше склонен верить отчетам, полученным в лоб, а не на базе моделей. Типа такого:
Я проверил статистику по вакансиям. По обоим ключевым словам hh.ru дает 2 страницы вакансий. Сайт rabota.ngs.ru прямо сейчас дал 37 вакансий по слову Java, 36 вакансий по слову .net и 31 вакансию по слову PHP. Как-то это слабо коррелирует с данными Хабра.
Я к тому, что язык программирования мало связан с областью его применения и реально нужно два опроса: на каком языке вы пишете и для какой области вы пишете. Да, для веб в России более часто используется PHP, однако для создания серьезных приложений он малоприменим и там уже используются более серьезные языки, такие как Java, Python и в отдельных случаях C++.
Опять же спорно. PHP вполне применим для самых серьезных приложений (примеры, я думаю, Вам и так известны). А вот PHP-программисты, в большинстве своём, мало применимы для серьёзных проектов.
Кажется там корректно написано: «из указанных».
Я не ожидал шквала в PHP. В следующий раз я не буду брать его в рассмотрение, а сделаю уклон на менее мэйнстримные направления.
Коррекция: ещё процентов 10 занимается тем, что не указано в опросе (системное программирование, серверная часть, микроконтроллеры, управление персоналом, дизайн и т. п.)
То есть человеку постоянно приносит доход PHP, но он при этом исключительно управляет персоналом? :) По-моему два последних примера у вас не из той оперы.
Если кто-то не нашёл своего варианта — не беда! Пишите в комменты.
В целом, опрос ориентирован на изучение контингента Хабра в рамках указанных технологий.
Я вот тоже колебался между десктопными приложениями и вебом, и в итоге не поставил галочку нигде — потому что на самом деле я пишу серверные приложения с тонкими и толстыми клиентами.
Сложность? Смеётесь? Это один из самых простых языков. А непопулярен он потому, что платформа весьма специфична и подходит для узкого круга задач, для которых и разрабатывалась. СouchDB и ejabberd как раз хорошие примеры такой специфики.
Вот и выяснили какой язык самый популярный в России и никакие там индексы популярности языков не надо, тут все на лицо. Если бы еще делфи был, я думаю он был бы на уровне Python или Ruby.
А вот из 290 человек, поставивших галочки напротив Python, есть ли кто-то программирующий не веб, не тесты и не геймдев?
Если есть, то что это за проекты?
Наша маленькая команда, к примеру, пишет кроссплатформенное приложение для автоматизированного управления виртуальными серверами и их сервисами в облаке. Работа очень интересная, но в то же время просматривая иногда вакансии программистов Python в СНГ, я не вижу ничего подобного, только Django, test automation, и «реализация серверной части браузерных игр.»
Какие из указанных ЯП и технологий являются для вас постоянным источником дохода?