Какой язык программирования лучше выбрать?

Какой язык программирования лучше выбрать?
Вы смотрите срез комментариев. Показать все
9
Автор поста оценил этот комментарий
С++ как база для изучения других языков? При том, что С++ учит всяким специфическим хакам, нафиг не нужным в других языках? Не говоря уже о тяжелом наследстве С, ручном управлении памятью, указателях, ссылках, кривом ООП'е, кривой системе типов, шаблонах и прочем, что в других языках только мешать будет. Гораздо проще выучить другой язык, чем переучиваться с С++.
раскрыть ветку (80)
8
Автор поста оценил этот комментарий
Хех, кто то не осилил плюсы.
А так на заметку, в 11 и 14 плюсах очень много вкусного добавилось.
раскрыть ветку (30)
10
Автор поста оценил этот комментарий
Я как раз осилил плюсы слишком хорошо. Много лет работал в крупных проектах на С/С++, был ментором по ним, тестировал кандидатов. Ушел на python больше 5 лет назад и ни разу не жалею.
Пруф с oDesk'а:
Иллюстрация к комментарию
раскрыть ветку (23)
3
Автор поста оценил этот комментарий
Ну да, если знаещь питонье кунгфу то плюсы уже кажутся чем то архаичным.
раскрыть ветку (21)
3
Автор поста оценил этот комментарий
А если осилил Haskell, все остальные языки кажутся неконтролируемым нагромождением side-effect'ов :)
раскрыть ветку (20)
1
Автор поста оценил этот комментарий
Найти кодеров на хаскеле к сожалению оооочень сложно..
раскрыть ветку (17)
1
Автор поста оценил этот комментарий
А они нужны вообще?
раскрыть ветку (16)
Автор поста оценил этот комментарий
Ну учитывая что Haskell программист по уровню гораздо круче среднего, и сам язык очень мощный то небольшой проект проще в одиночку потянуть, а крупных проектов можно по пальцам пересчитать.
Автор поста оценил этот комментарий
Ну чтоб писать код на Хаскеле, нужны программисты хотя бы один, чтоб обучить джуниоров и показать best practice.
раскрыть ветку (14)
Автор поста оценил этот комментарий
А зачем вообще писать на Хаскелле? Где его можно применять, в чем другие языки его не переплюнут?
раскрыть ветку (13)
1
Автор поста оценил этот комментарий
Зачем вообще писать на высокоуровневых языках?
Хаскель позволяет работать на высоком уровне абстракции, используя мощные инструменты, которых нет в других языках. Делает множество высокоуровневых оптимизаций, выявляет многие семантические ошибки, позволяет писать в декларативном комбинаторном стиле, близко к самой задаче. Еще позволяет контролировать побочные эффекты и дает гарантии функциональной чистоты, что позволяет рассуждать о коде. Имеет мощную систему типизации с выводом типов, при этом она не навязчивая. Позволяет легко работать с параметрическим и специальным полиморфизмом. Имеет множество удобного синтаксического сахара типа list comprehensions и pattern matching. Ленивые вычисления тоже крутая штука.
Это все лишь маленькая часть возможностей.
Есть области, где Хаскель действительно превосходит другие языки, это например лингвистика, парсеры, реализации всяческих DSL. Вообще Хаскель имеет смысл применять для сложных задач, для простых достаточно и python'а.
раскрыть ветку (9)
1
Автор поста оценил этот комментарий
Его плюсы никто не отрицает, но код на нем выглядит, как набор грязных хаков. Даже лисп и то более читабельный.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Как обходятся проблемы с производительностью?
раскрыть ветку (6)
Автор поста оценил этот комментарий
Очень крутой язык особенно в сочетании с гринлетами и прочими плюшками позволяет например сетевой код делать очень красивым.
Иллюстрация к комментарию
раскрыть ветку (2)
2
Автор поста оценил этот комментарий
пишете сортировки вручную? тогда мы идем к ВАМ!
нативный сорт по предоставляемому ключу есть пожалуй в любом современном ЯП
а уж он там внутри в зависимости от размера сортируемого массива сам решит какую реализацию сортировки использовать
раскрыть ветку (1)
Автор поста оценил этот комментарий
Не знаю, язык хороший, но маленькое русское сообщество в котором постоянно срач напрягает.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Язык любим троллями, но сам язык хорош, когда осилишь. Расширяет сознание :)
Автор поста оценил этот комментарий

Сейчас тоже на питоне кодишь?

Автор поста оценил этот комментарий
И тем не менее, при чем тут база для остальных языков?
раскрыть ветку (5)
Автор поста оценил этот комментарий
Ни причем. Это автор схемы так решил. Я не автор.
Автор поста оценил этот комментарий
осилив c++, нет проблем осилить что-нибудь ruby|python|js|%some_lang_name%
раскрыть ветку (3)
1
Автор поста оценил этот комментарий
Чтобы осилить ruby|python|js|%some_lang_name%, совершенно нет надобности осиливать плюсы.
раскрыть ветку (2)
Автор поста оценил этот комментарий
да, но это best-way: c++ -> %langName%
дело за малым: синтаксис и идеология\философия языка
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Это можно сказать worst way, так как C++ учит плохим практикам и вещам не нужным в других языках, от которых потом приходится отучаться. И сам язык для обучения не особо подходит. А то полезное, что ты мог вынести изучая С++, ты можешь изучить напрямую изучая python.
2
Автор поста оценил этот комментарий
Хм, я вот начинающий программист (мне 14 лет) Начал я еще лет в 8 с html, потом начал php (знаюзнаю, но у меня не было никакого наставника чтобы показал мне что то хорошее), сейчас я прочитал одну толстенную книгу по консольному c++ и немного попрактиковался. Пока что цель - писать что то оконное, ибо на плюсах я умею писать только консоль. Для винды, на остальные ос пофигу. Вот в данный момент начал читать литературу по directx 11, так как я понял это лучший способ работы с графикой под виндой. А вообще, какие советы дадите?
раскрыть ветку (38)
11
Автор поста оценил этот комментарий
Бросай DirectX учи OpenGL пока не поздно.
Да прибудет с тобой опенсорс молодой падаван.
Иллюстрация к комментарию
2
Автор поста оценил этот комментарий
Тебе денег зарабатывать или игры писать? Если игры писать то возьми лучше готовый движок и пиши скрипты (скорее всего там будет lua). А если зарабатывать то геймдев не особо прибыльная сфера.
Если просто оконные приложения, то тут куча вариантов начиная с WinAPI и MFC, и заканчивая Windows Forms под .NET, или чего-то кросcплатформенного типа Qt. Самый простой способ забахать оконное приложение это RAD типа Delphi или C++ Builder.
раскрыть ветку (27)
1
Автор поста оценил этот комментарий
И хотелось бы вообще побольше узнать о работе в программировании. Ибо насколько я знаю, это сейчас очень востребовано, но что и где (например про геймдев я не знал), в какие области идти, что учить и т.д. для работы в n лет (после универа ясеньпень) я не знаю =(
раскрыть ветку (20)
6
Автор поста оценил этот комментарий
Учись думать. Когда закончишь универ, большая часть сегодняшних технологий будет гнить на помойке.
раскрыть ветку (4)
Автор поста оценил этот комментарий
Нуу. Сколько языков были придуманы 10+ лет назад и держаться до сих пор?
раскрыть ветку (3)
2
Автор поста оценил этот комментарий
Доживают в основном
Вообще в универах учат не столько языкам сколько всяким полезным плюшкам
раскрыть ветку (2)
Автор поста оценил этот комментарий
В универе больше всего, если хороший, учат понимать как все работает, к примеру, я на первом курсе сейчас у нас была основа математики, программирование, а так же Логика(гейты, их работа, булеан и тд и тп)+Ассемблер. Так что ты прав, но не полностью.
1
Автор поста оценил этот комментарий
Да вот не скажите. Мне на ум то и не приходит популярных ЯП, которые появились в последние лет 10.
Автор поста оценил этот комментарий
Зайди на любой фрилансерский сайт и посмотри каких больше заказов. Это даст тебе представление на что есть спрос. Сейчас это наверно веб и мобильные платформы.
раскрыть ветку (7)
Автор поста оценил этот комментарий
А насчет компаний? Ибо хотелось бы работать где то где есть зарплата и т.д. Или это вообще "не тема" и лучше действительно фрилансить?
раскрыть ветку (6)
Автор поста оценил этот комментарий
В компании надо поработать я считаю, хотя бы 2-3 года. Потом тебе будет видно оставаться в компании или уходить во фриланс. Я про фриланс сказал как индикатор спроса.
А после универа без опыта скорее всего возьмут только в аутсорсинговый body shop, другие компании не рискуют брать людей без опыта.
раскрыть ветку (5)
3
Автор поста оценил этот комментарий
на фрилансе индикатор спроса непрофильных компаний и кучи нищебродов неспособных содержать свой IT отдел в полной комплектации.
нахрена на них смотреть?
вот цены за голову на hh каком-нибудь - вполне себе индикатор.
раскрыть ветку (3)
Автор поста оценил этот комментарий
Вот я например работал на Metaweb через фриланс, его потом купил Google. И они совсем не нищеброды и штат свой большой, но для некоторых задач нанимали еще и фрилансеров.

"On March 14, 2006, Metaweb received $15 million in funding. Investors included: Benchmark Capital, Millennium Technology Ventures, and Omidyar Network. Kevin Harvey of Benchmark Capital is a member of Metaweb's board of directors. On January 15, 2008, Metaweb announced a $42.5 million Series B round led by Goldman Sachs and Benchmark Capital."

И это не единственный пример. Прошлый проект например несколько лет длился и тоже там было все нормально с финансированием (крупные корпоративные клиенты уровня General Electric) и это чисто IT проект. Если вы думаете, что фрилансеров нанимают от бедности, то это не так.
раскрыть ветку (2)
Автор поста оценил этот комментарий
таких надо долго и упорно искать в потоке "прикрутите нам за 5тыр"
раскрыть ветку (1)
Автор поста оценил этот комментарий
ну так фильтровать надо :)
1
Автор поста оценил этот комментарий
Океей, спасибо вам большое. А из языков что посоветуете? Что сейчас из них востребовано? Насколько я знаю, js сейчас очень популярен, хотя я так и не понял почему >.<
1
Автор поста оценил этот комментарий
Изучай основы ООП, паттерны проектирования. Да и вместо DirectX, штудируй лучше OpenGL
раскрыть ветку (6)
Автор поста оценил этот комментарий
А чем оно лучше? *не разведения холиваров ради, а для понятия*
раскрыть ветку (5)
Автор поста оценил этот комментарий
OpenGL кроссплатформенный, более универсальный. А DirectX используется только под Windows платформе. Но это если вообще хочешь заняться GameDev.
раскрыть ветку (4)
Автор поста оценил этот комментарий
Ну линукс у меня только на ноуте (убунта, ничего сложного), мака вообще нет... Так что под винду, собсна, мне и сойдет писать. Геймдевом не хочу заниматься серьезно, хочу просто посмотреть пока что насколько это сложно (directx), что он может и т.д.
И насчет универсальности, в чем она заключается?
раскрыть ветку (3)
Автор поста оценил этот комментарий
ios, android. кроссплатоформенность, и есть его главная универсальность.
раскрыть ветку (2)
Автор поста оценил этот комментарий
Тобишь, для винды без разницы что выбирать? ^^
раскрыть ветку (1)
Автор поста оценил этот комментарий
да
Автор поста оценил этот комментарий
В том то и дело, что игры писать, но не с помощью гейм мейкера, а так, как делают нормальные игры =)
раскрыть ветку (5)
2
Автор поста оценил этот комментарий
Нормальные игры не один человек делает. Ты думаешь все пишут свой движок с нуля?
раскрыть ветку (4)
Автор поста оценил этот комментарий
Да знаю я все это. Я ж не супер пупер убийцу гта сделать хочу, а простую 2d игру, а это намного легче как мне кажется
раскрыть ветку (3)
Автор поста оценил этот комментарий
Проттую 2д проще в конструкторе забацать
Автор поста оценил этот комментарий
Для 2d игр тоже есть готовые движки, попробуй сначала на готовом, а потом, когда поймешь, чего тебе не хватает можешь попробовать это добавить туда. Всяко лучше, чем городить велосипед.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
А смысл? У меня цель не создать игру, а разобраться в dx, соответственно и в winapi, попрактиковать навыки и т.д. и т.п.
Автор поста оценил этот комментарий
Довольно хороший старт. Я бы даже сказал очень хороший, завидую тебе. Попробуй Qt - это IDE для С++, в которой можно писать оконные приложения. Придется почитать некоторые вещи, но я думаю ты справишься. Да и полезная это вещь.
С DirectX мне кажется ты немного не туда ушел. Если хочешь делать игры - https://en.wikipedia.org/wiki/List_of_game_engines вот список игровых движков. Нарочно кинул английскую вики, потому что там все лучше расписано. Посмотрите в сторону Cocos2D - говорят довольно хороший движок.
раскрыть ветку (7)
1
Автор поста оценил этот комментарий
Спасибо тебе добрый человек =) Буду изучать qt вместо directx, и движки тоже посмотрю =) Вот еще один вопрос, тут холивары всякие, какой язык лучше и т.д. Какой сейчас язык вообще имеет смысл учить для получения денег, так сказать?
раскрыть ветку (6)
Автор поста оценил этот комментарий
Я бы наверное Python изучал, либо продолжал С++. Python довольно легкий в изучении, востребованный на рынке и функциональный.
Еще чисто под Windows хорош C#. И даже не знаю, что вам лучше посоветовать.
раскрыть ветку (3)
Автор поста оценил этот комментарий
Хм, а что на питоне пишется? Просто c++ я знаю только базу, писал только консольные приложения, начинал java, но забил потом... С++ же еще под андроид вроде как. Так что я сам даже не знаю, пхах =)
раскрыть ветку (2)
Автор поста оценил этот комментарий
https://ru.wikipedia.org/wiki/Проект:Информационные_технолог...
Вот вам некоторый список. А вообще что хотите, то и пишите, думаю проблем у вас вряд ли возникнет с недостатком каких-то технологий.
Про мультиплатформенность это отдельная тема, в которой язык играет не всегда главную роль. Например C# - это в основном язык под Windows, однако Xamarin и Unity3D дают ему хорошую мультиплатформенность. Но в целом у Python с этим все замечательно.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Хм, хорошо, спасибо. Буду смотреть в эту сторону =)
Автор поста оценил этот комментарий
нужно изучить рынок труда в твоём городе
раскрыть ветку (1)
Автор поста оценил этот комментарий
Москва. Я не думаю, что тут есть какой то определенный язык. Да и вообще, мне без разницы где жить. Могу хоть в другую страну уехать >.<
1
Автор поста оценил этот комментарий
http://dou.ua/lenta/articles/1st-job-2014/?from=doufp
вот можешь посмотреть тут востребованность языков

учу джаву и питон, чем очень доволен. освоить достаточно легко и быстро, главное - практики по-больше)
DELETED
Автор поста оценил этот комментарий
Как же с таким богатым опытом ты не слышал об умных указателях? Что за "специфические хаки", без которых плюсы - не плюсы? А кривой ООП это потому что С++ не чистый ООП язык? Ну как то не очень тянет на аргумент.
раскрыть ветку (2)
Автор поста оценил этот комментарий
Если бы умные указатели все проблемы с памятью решали, то и разговора бы не было. Но умные указатели не замена gc, но даже если gc прикрутить к С++ (либы есть соответствующие), это тоже не решит всех проблем. Слишком много возможностей выстрелить себе в ногу дает язык.
Всякие таблицы виртуальных функций, арифметика указателей, mangling в С++ стиле, размеры типов, зависящие от платформы, несколько видов кастов, всякие штуки оставленные для совместимости с С, отсутствие нормальной системы модулей, инстанцирование шаблонов, недружественные ошибки компилятора. Куча всего, что программистам на других языках может только в страшном сне присниться.
Про ООП там тоже много всего можно сказать. И дело совсем не в чистом ООП. ООП сама по себе парадигма проблемная. А такой ООП как в С++, можно и на С сделать (и делают, тот же COM). Потом чтобы самые вопиющие проблемы порешать прикрутили шаблоны со своим инородным синтаксисом, которые еще проблем добавили. Опять же проблемы с множественным наследованием, ромбовидным наследованием, чисто виртуальные деструкторы, которые при этом должны иметь тело и прочие неочевидные вещи. Вообщем граблей там хватает и для опытных программистов.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
gc тоже не серебряная пуля.
Автор поста оценил этот комментарий
Да... Вот вам, счастливчикам, начавшим с С++, хорошо говорить. А кто-то с паскаля начинал, а потом Делфи) Сейчас устаканился на С# и Java, мне норм. По крайней мере для решения тех задач, что мне требуются.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Что не так с паскалем по сравнению с C++? Там тоже памятью рулишь только вручную, так что я не понимаю, чему вы сокрушаетесь.

1
Автор поста оценил этот комментарий
Потому что после C++ ты будешь понимать как работают другие языки, а не тупо использовать что-то, что работает хз как
Потому что после C++ реализация ООП в других языках кажется куцой и немощной
Потому что ручное управление памятью - это надёжно, а для остального есть прямые руки и smart pointers
Потому что шаблоны на два порядка мощнее любого другого механизма обобщения кода и те же generic рядом не стояли
раскрыть ветку (1)
Автор поста оценил этот комментарий

Ну ООП в плюсах это такое...

Автор поста оценил этот комментарий
Привет, что посоветуете в качестве первого языка, чтобы в дальнейшем найти хорошую работу? Python или JavaScript? Ещё, не могли бы сказать, как относятся к самоучкам при трудоустройстве на данный момент?
Автор поста оценил этот комментарий
Английский подходит хорошо, на нем лучше всего программировать
Автор поста оценил этот комментарий
Писать надо не на языке, а с использованием языка
Просто поняв как программировать, легко переключаться с языка на язык
Что за стереотип - "выучишь один язык, который мне почему-то не нравится, тебе будет трудно перейти на другие языки, которые мне почему-то нравятся"
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку