Вопрос

Много лет назад я поступил в школу программирования, а когда закончил, то нашел работу в области системного администрирования, и именно в этом направлении развивалась моя карьера.Я бы хотел вернуться к какой-нибудь разработке и "поиграл" с C # и ASP.NET , но я слышал много разговоров о других "новых" языках (под новыми я подразумеваю, что они новы для меня), таких как Ruby и F #.Наверное, мне интересно, не трачу ли я впустую свое время, изучая в основном языки MS вместо того, чтобы быть специалистом широкого профиля.То, что я долгое время не был в стороне от сообщества разработчиков (если вообще когда-либо был), заставляет меня разбираться в тенденциях, и я бы хотел не отставать от времени.

Есть какие-нибудь соображения по поводу того, лучше ли следовать "новейшим" языкам или придерживаться более проверенных технологий?

Это было полезно?

Решение

Вы должны выучить по крайней мере 1 компилируемый язык (например, C # или Java) и 1 Язык сценариев (Python, Ruby и т.д.).Обычно этого достаточно, чтобы помочь большинству разработчиков добиться успеха в том, что они делают, независимо от возраста языка.

Что касается нового против старого, я бы пока придерживался C #, поскольку он довольно популярен.Хотя выучить новый язык было бы не так уж плохо.

Другие советы

C.

Серьезно, изучайте C.

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

Обратите внимание, что я не говорю, что люди, которые не знают C, не являются разработчиками (Джефф, основатель этого сайта, не знает C, и у него все отлично получается), но C познакомит вас со многими менее гламурные и покрытые сахаром аспекты развития.

В качестве второго варианта выберите C #.

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

видишь http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html для получения полного индекса популярности языка

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

Я думаю, что c ++ - один из лучших общих инструментов, и с ним будет легче работать, как только c # будет хорошо понят (на нем есть МНОГО документации и справочных форумов).Опыт работы с c ++ не ограничивается Microsoft, однако - большинство популярных платформ будут работать на c ++, так что с этим опытом вы не будете ограничены Windows.Это также хорошо, потому что оно не такое сладкое, как c # или Java, и не такое грубое, как чистый c, и оно может довольно легко взаимодействовать с c # (что является одной из причин упрощения перехода).

Так что c # - хороший выбор, и, имхо, за ним внимательно следует c ++

Я должен согласиться со многим из вышесказанного:язык не имеет значения.По большому счету, язык имеет значение только для следующего:

  1. Характеристики.Если вам нужно множественное наследование, вам лучше использовать C ++.Если, как и более чем 90% разработчиков, вам не нужно ничего специфичного для одного (или одного небольшого подмножества) языков, это не имеет значения.
  2. Синтаксис.Ты ненавидишь пробелы?Используйте C #.Ненавидите фигурные скобки?ШЕПЕЛЯВОСТЬ - твой друг.Тебе все равно, так или иначе?Это не имеет значения.
  3. Скомпилированный или интерпретированный?Это важно.Используйте скомпилированный (или частично скомпилированный, например .NET), и это будет быстрее...но разрыв в скорости сокращается.
  4. Местные возможности трудоустройства.Конечно, вы можете быть гением в C # ... но если все, кто нанимает вас рядом, ищут программистов на PERL, это не принесет вам никакой пользы.
  5. Поддержка сообщества.Если вашим языком всерьез не пользовались в течение 20 лет (или вообще никогда), не ждите, что Google поможет вам в этом.QBASIC, я смотрю на тебя.Однако StackOverflow будет здесь...

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

Что касается нового или старого... И то, и другое хорошо.Новые языки, как правило, легче воспринимаются, но существует более распространенная документация и использование старых языков, хотя это может постепенно прекращаться.

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

Тем не менее, если вы не возражаете против "привязки к поставщику", Microsoft stack - отличный способ заняться программированием и найти прибыльную работу на долгие годы.Microsoft является одновременно "проверенной" и "новейшей". Microsoft stack традиционно ориентирован на создание бизнес-приложений, но вы этим не ограничиваетесь (ASP.NET Например, MVC использовался для создания этого сайта).

Я не так уж много знаю о мире Ruby on Rails и тому подобном, поэтому доверюсь более осведомленному человеку.

Мой реальный совет - выбирайте то, что вам нравится.Изучайте C# и Черт возьми, если это то, чем ты увлекаешься.

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

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

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

Мой собственный подход состоял бы в том, чтобы подумать о том, какую работу вы хотите выполнять и какие требования к этой работе было бы полезно иметь.Например, знаете ли вы о шаблонах проектирования?Как насчет моделирования системы с использованием классов и наследования?Если вы хотите освоиться с богатыми интернет-приложениями, вам нужно изучить AJAX и другие элементы Javascript, а также HTML и его различные ответвления, такие как XHTML и DHTML.

Я не думаю, что есть что-то плохое в том, чтобы знать только технологии Microsoft, если они не сталкивались с другими, которые могут понадобиться, если вы захотите подать заявку на работу разработчика и для них потребуется Javascript или CSS, которых у вас нет.

Другой момент заключается в том, чтобы быть в курсе изменений в инструментах с течением времени, поскольку, вероятно, по мере дальнейшего развития Сети изменений будет еще больше, напримерв Visual Studio 2010 может быть намного больше изменений, чем в текущей Visual Studio 2008, учитывая некоторые недавние анонсы, касающиеся jQuery и MVC framework.

За последний год я профессионально использовал C #, Ruby, Perl, JavaScript и PHP, и все они были полезны по-разному.Я бы предположил, что если вам нужен простой способ освоить основы программирования, Ruby - отличный язык для этого - у него простой, понятный синтаксис, и это позволяет очень легко думать объектно-ориентированным способом, что может быть сложнее с полуо-языком, таким как C # или Java.

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

Для начала я бы избегал функциональных языков, таких как F #.Они довольно сложные и совершенно разные, хотя, по общему мнению, понимание их делает вас лучшим программистом.

Я бы сказал, изучите то, что проще всего, и ухватитесь за фундаментальные концепции, стоящие за ними.Синтаксис - это легкое препятствие, которое можно преодолеть, разница между языками немного сложнее.

Однако, поскольку C #, похоже, располагает широкой базой справочных материалов в сети и здесь, на SO, я бы начал с этого и узнал о тонкостях объектно-ориентированного программирования.Тогда, в идеале, вы должны быть в состоянии переключиться на практически любой другой язык OO, который вам нужен в данный момент (например, ruby, Java, Obj-C или даже ужасный C ++) jk, специалисты по C ++.

Такой язык, как F #, хотя и популярен, немного отличается от C # своей функциональностью.Если вы привыкли писать код в функциональном стиле, возможно, стоит обратить внимание на F #.Но даже в этом случае узнайте, каково это - писать функциональный код, и постигните основы языка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top