Для меня я C # и Java человек. Я считаю, что эти два языка очень похожи, поэтому мне легче пересекать друг друга. Я не уверен, стоит ли выбирать другие языки. Есть предположения?
programming-languages
Цифровой чувак
источник
источник
Ответы:
Я могу придумать, по крайней мере, пять причин для изучения языка, и кажется, что в конечном итоге вы должны выучить одну для каждого из них.
источник
Дело не в том, сколько языков вы изучаете. Это об изучении новых концепций. Некоторые языки могут научить вас многим понятиям, в то время как другие могут научить только одному.
Если вы знаете C #, вы, вероятно, не узнаете ничего страшного, изучая Java. Но вы бы, если бы вы узнали Haskell.
Поэтому, когда вы выбираете новый язык для изучения, выбирайте то, что научит вас понятиям, которых вы еще не знаете.
источник
Я бы сказал, что самое важное - это способность быстро учиться. Тем не менее, важно знать разные языки, которые используются для разных целей. Например я знаю:
1) Python и Perl для категории языков сценариев
2) C ++ как «каркасный» язык
3) Java для мобильных приложений
4) C для огромного количества унаследованного кода
5) Некоторые устаревшие языки, которые я знал в молодости (Basic, Pascal, Clipper и т. Д.)
Я бы сказал, что вам нужен хотя бы основной язык и язык сценариев. Зная C #, я бы сказал, что вам нужно изучить Python, Perl или Ruby. (Я бы пошел с Python, но это просто вопрос предпочтений).
источник
Хорошо изучать один новый язык программирования каждый год. Но вместо того, чтобы изучать что-то похожее на то, что вы уже знаете, я посоветую вам узнать что-то радикально отличное от Scala или F #. Он покажет вам новые способы делать вещи и в конечном итоге обогатить ваши навыки программирования.
источник
Вы должны сосредоточиться на языках, которые вам нужны, и использовать то, что вы делаете . На самом деле изучение языка происходит от практики, поэтому вы получаете пользу от этого языка, когда практикуете его. Если вы собираетесь изучать новый язык в свободное время, сделайте это, внедрив его в задачи повышенной сложности, чтобы вы действительно справились с этим.
источник
сосредоточиться ни на чем. сосредоточиться на изучении и написании чистого кода; ясно, выразительно, просто и, самое главное, не дублируется.
пойти на принципы этого типа программирования, основы (например, инкапсуляция для ООП; что такое средства и что это подразумевает) и изучить некоторые принципы
этот материал облегчит вашу работу. это даже облегчит людям, которые работают с вами или после вас.
да, вы тоже должны хорошо знать синтаксис. но это не то, что занимает ваше внимание долгое время
и да, вы тоже должны хорошо понимать технологии, которые используете. но они могут быть расставлены по приоритетам в соответствии с уровнем сложности вашего бизнеса.
последние два не в центре внимания, но в некотором фокусе
источник
Программист должен сконцентрироваться на программировании, а не на специфическом языке.
источник
Столько, сколько нужно, чтобы сделать вашу работу.
Но C # и Java так же близки, как британский английский и американский английский. Вы можете узнать что-то новое , перейдя на финский или навахо.
источник
Я не думаю, что вы обязательно овладеете языком, не имея достаточного понимания других языков, чтобы увидеть этот язык «извне» как бы. Каждый отдельный язык вносит что-то еще в таблицу, и концепции, которые они приносят, - это вещи, которые вы можете перенести на основные языки, с которыми вы работаете.
Поэтому время, потраченное на изучение использования других языков, никогда не теряется, даже если вы не планируете использовать их в коммерческих целях.
Старая поговорка - учить язык каждый год, и я бы, конечно, сказал, что в первые десять лет или около того вам нужно это делать. Возможно, помимо этого, вы могли бы выбрать между более глубоким изучением некоторых из тех, которые вы уже знаете (возможно, обновляете свои знания тех, которые вы узнали несколько лет назад), или работать с конкретными библиотеками, а не просто бесконечно накапливать новые языки, но при этом следить за изучение практики программирования посредством работы с разными языками, безусловно, поможет вашему развитию как программиста.
источник
Популярные языки программирования, такие как C # и Java, позволят вам успешно работать в большинстве мест, но ни один из них не будет достаточно отличаться друг от друга для изучения новых способов решения проблем. Я думаю, что есть некоторые языки, на которых вы едите (те, которые вы используете для своей работы), и другие, на которых вы играете. У обоих есть свои цели.
Я обнаружил, что, изучая новые языки программирования, я также изучал новые и более элегантные способы решения проблем. Дело не в количестве языков или в том, как часто вы их выбираете. Каждый язык программирования, который стоит изучать, имеет уникальную точку зрения, которая заставляет вас подходить к своим проблемам с новым мышлением. Много раз ценность приходит от изучения этого мышления.
Я играл с Smalltalk, и мне это нравилось. С языком было просто приятно развиваться. Как только вы привыкли к идиомам, они помогли вам быть более выразительными с вашим кодом. Я совсем не пропустил статическую типизацию, которую вы имеете в Java / C ++ / C #. Обобщения, с которыми мы живем в наших статически типизированных языках, действительно являются конструкциями, позволяющими обойти ограничения, накладываемые статической типизацией.
Я регулярно использую Ruby и Ruby on Rails, хотя сейчас я не оплачиваю работу. Принцип конструирования Руби заключался в «повышении счастья программиста». Вы должны любить это чувство, и по большей части я думаю, что оно доставляет.
В конечном итоге Java пойдет по пути LISP и Smalltalk, а C # последует их примеру. Что будет там, чтобы занять их место, еще неизвестно. В конце концов, если вы знаете, как решать проблемы, и у вас есть несколько способов нарезать и вырезать проблему, вы сможете найти работу и выбрать любой язык, который вам необходим.
источник
Когда дело доходит до поддержания навыков и гибкости, я думаю, вы должны стараться изучать по крайней мере один совершенно новый язык программирования каждые 6 месяцев или около того. И я имею в виду язык, который очень, очень отличается.
Так что, изучая больше .net Framework, используя C # или Java, можно поддерживать гибкость, изучение Haskell, Smalltalk, Scala, Clojure или Ruby расширит вашу технику и поможет вам мыслить по-разному, некоторые из которых вы можете использовать с пользой. вернуться к вашему основному языку, и некоторые из них могут помочь вам двигаться дальше, если Java перестанет быть царем холма.
Если вы никогда не изучали C, то хотя его синтаксис перенесен в Java, образ мыслей может быть совершенно другим. Это стоит знать подробно и даже лучше, понимая, как ОО-код может быть написан на этом языке, который кажется только процедурным.
Я рекомендую прочесть книгу Брюса Тейта «За пределами Java», в которой слишком хорошо подчеркивается опасность присутствия только на одном языке, отмечая взлет и падение C ++. Хотя C ++ еще далек от смерти и у него остались десятилетия, становится все более и более ограниченным использование только в ситуациях, которые не могут выиграть от повышения производительности в других языках. В отличие от этого, Sinatra, фреймворк ruby, позволяет создавать простой веб-сервис из примерно 6/7 строк кода, эквивалент C ++ может быть на порядок больше, чем этот.
источник
Если вы не являетесь носителем английского языка, по крайней мере, вы должны сосредоточиться на улучшении вашего английского . Я говорю это исходя из моего опыта. Понимание этого языка мне очень помогло.
Все хорошие материалы (книги, статьи, код и т. Д.) Для изучения языков программирования, технологий и новых концепций написаны на английском языке.
источник
Языки - это инструменты для выполнения работы. Некоторые языки хороши для некоторых типов проблем, другие, как правило, хороши для решения всех видов проблем. Я рекомендую изучать новые языки по мере их появления. Не зацикливайтесь на том, что модно в этом месяце, но узнайте, что они могут сделать, в чем они хороши. Мой совет - 1 новый язык в год. Они выходят быстрее, чем это, но вы надеетесь поместить новые инструменты в свой набор инструментов, а не быть модным новым ребенком в блоке.
Одним из эссе, в котором говорится о различиях в языках, является книга Пола Грэма «Обгоняя средние» Я рекомендую прочитать его, но здесь есть одна важная часть (он использует «Blub» в качестве гипотетического языка, чтобы вы не спорили о том, что может сделать ваш любимый язык):
{} Надрез
http://www.paulgraham.com/avg.html
Большинство приложений, которые мы отправляем, написаны на C # или VB. Когда нам нужно было добавить сценарии в приложение, мы выбрали Python (Lua был вторым). Мы изучаем F #, потому что он может сделать несколько новых вещей, которые трудно объяснить и понять, если все, что он знает, это C # / Java / VB.
источник
ну, во-первых, есть ряд языков, которых очень трудно избежать большинству программистов: javascript, sql, c и т. д., так что вы можете с ними познакомиться, они не исчезнут.
это также хорошая идея, чтобы знать язык сценариев типа утки ... например, один из perl, python, ruby, lua и т. д., они невероятно полезны для огромного количества проблем, включая автоматизацию большинства ваших ежедневных рутинных операций.
к лучшему или к худшему, вы также, вероятно, столкнетесь с C # и / или Java в какой-то момент, они довольно распространены.
в любом случае, не ограничивайте себя искусственно. у тех знакомых мне кодеров, которые явно избегают использования интересных инструментов, похоже, скрытое мировоззрение и ограниченное влияние.
источник
В каком-то смысле это может стать еще одним предметом против общих дискуссий. Некоторые люди могут проводить долгое время, зная один язык на больших глубинах, который им подходит. Другим людям может быть интересно узнать немного о множестве разных языков, которые прекрасно им подходят. Большинство людей находятся между этими двумя крайностями.
Если вам нужны предложения по изучению языков, вот несколько идей:
Функциональное программирование - здесь могут быть примеры Haskell или Lisp, и смена парадигмы может быть в некоторой степени отчасти поворотной.
Специфичная для базы данных - PL / SQL или T-SQL приходят на ум как нечто, что может быть полезно, если вы хотите выполнять больше серверной работы с системами, которым требуется база данных для некоторых ее функций.
Языки веб-интерфейса пользователя. В качестве примеров языков, используемых в многофункциональных интернет-приложениях, можно привести ActionScript или Javascript, хотя в некоторых случаях AIR может заставить некоторые настольные приложения использовать веб-вызовы, например Twhirl, с помощью API Twitter.
Это всего лишь идеи, и в зависимости от того, где вы хотите быть, они могут быть полезны или бесполезны для вас. Удачи в любом выборе.
источник
Программист должен знать три языка: C, английский и Something Else.
C является базовым языком, он близок к машине и имеет синтаксические правила, общие для нескольких языков высокого уровня. C заставляет вас думать о таких вещах, как структуры данных, совершенно иначе, чем Java. Кроме того, Python и Ruby vms оба встроены в C, и вы можете встроить C в оба языка, когда хотите повысить свою скорость.
Английский является распространенным языком программирования. Большинство книг, технических отчетов, технических веб-сайтов и журнальных статей выходят вначале на английском языке, а иногда и исключительно на английском. Кроме того, если английский не является вашим родным языком, изучение английского языка расширит ваш инструментарий для манипулирования концепциями (это, конечно же, касается и тех, кто говорит по-английски, и некоторых других языков).
Something Else должен быть языком, который не является процедурным, или не является статически типизированным, или строго объектно-ориентированным, или в каком-то смысле просто фундаментально отличается от C. Haskell, Scala, Python, Ruby, некоторого диалекта Лисп, чего бы то ни было ,
После этого вы можете узнать все, что требует ваша конкретная ситуация, скорее всего, C # или Java.
источник