Как мне перейти от программиста мэйнфреймов к программисту клиент-сервер? - PullRequest
3 голосов
/ 25 января 2010

Я был программистом мэйнфреймов Adabas / Natural и Cobol в течение 16 лет, заканчивающихся в 2002 году. У меня огромный опыт в анализе, проектировании, разработке, тестировании, внедрении и документировании онлайн и пакетных приложений.Я хотел бы вернуться к разработке программного обеспечения после 7-летнего перерыва, воспитывающего моих детей.

Мне сказали, что языки .NET сейчас очень востребованы.Может ли кто-нибудь дать мне совет, какие классы мне следует пройти, чтобы получить хорошее знание языков .NET?Должен ли я начать с ASP.NET или VB.NET, и какие версии?Или какой-либо другой совет, который вы можете дать кому-то, кто хочет улучшить свои навыки программирования с среды мэйнфреймов до среды клиент-сервер?

Заранее благодарим за любой вклад!

Ответы [ 7 ]

2 голосов
/ 25 января 2010

Я не могу давать предложения, но есть как минимум 3 основных типа программистов:

  • "парни", которые будут кодировать в Rails, Grails или php
  • «ребята из фреймворка», которые будут кодировать на Java и создавать шаблоны проектирования для всего (со своими плюсами и минусами). Есть несколько UI-фреймворков; Я предпочитаю калитку . Большинство людей используют спящий режим здесь как метод персистентности.
  • и да, «ребята из Microsoft», которые будут кодировать в ASP.NET. Я бы выбрал C # тогда. Спрос высокий, но я предпочитаю независимость от ОС и инструментарий Java

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

1 голос
/ 25 января 2010

Звучит как замечательная вещь. Удачи.

Я думаю, что C # намного более популярен, чем VB.NET, поэтому я думаю, что это может быть место для начала. ASP.NET также более популярен, чем разработка для настольных компьютеров, так что это может быть и лучше. Если вы выбираете ASP.NET, изучите последние выпущенные версии; .Net 3.5, C # 3.0, ASP.NET 3.5. Следующая версия не за горами, но ни один из учебных материалов там не ссылается на нее, так что идите с версией 3.5.

Вне головы, я бы предложил что-то вроде этого. Другие люди тоже будут вмешиваться;

  1. Купите себе программное обеспечение для разработки; У Microsoft есть ряд бесплатных инструментов, которые вы можете использовать для обучения по номеру http://www.microsoft.com/express/Windows, поэтому, если у вас есть ПК с Windows, вам не нужно ничего тратить.
  2. Microsoft также предлагает много документации - и я много значу. Если вы предпочитаете видео, есть видео. Если вы предпочитаете написано, там написано. Это подавляюще, даже для меня, и я был в этом годы;). Сначала идите сюда: http://www.asp.net/ и пошаговый видеокурс по созданию веб-сайтов с использованием ASP.NET. Есть также много на msdn.microsoft.com .
  3. Не бойтесь возвращаться сюда с очевидными вопросами.
1 голос
/ 25 января 2010

Использование «клиент / сервер» встречает вас как можно больше;) В наши дни все сводится к сети (то есть к n-уровневой архитектуре). Конечно, это своего рода архитектура клиент / сервер, просто вряд ли кто-нибудь когда-либо будет использовать этот термин.

1 голос
/ 25 января 2010

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

Я бы держался подальше от VB.NET и нацелился бы на C #, это более ценный навык, чтобы его приобрести.

Я бы также посмотрел на любые современные методы разработки, которые вам не хватает в вашем наборе навыков, такие как:

  • Контроль версий, например, subversion или git
  • Модульное тестирование и разработка через тестирование
  • Методы гибкой разработки
1 голос
/ 25 января 2010

Может быть, вы могли бы взять несколько классов по официальной учебной программе Microsoft; это не продвинуто, но очень хорошо охватывает основные понятия.

Предлагаю взглянуть на Microsoft Learning и поискать уроки в классе.

0 голосов
/ 25 января 2010

В наше время C #, несомненно, является местом для начала.

  • VB.NET не так уж плох в языке, но синтаксис настолько отличается от всех других популярных языков, что навыки не очень хорошо переносятся.
  • Java невероятно ограничена как в своих возможностях, так и в способности говорить на других языках. Это также требует, чтобы вы использовали много «анти-паттернов» при программировании, потому что в нем отсутствуют фундаментальные функции, такие как свойства, делегаты и истинные обобщения.
  • Динамические языки, такие как Ruby, Python или PHP, не так плохи, как Java, но не помогут вам освоить многие фундаментальные концепции программирования, как в C #, плюс для новичка их сложнее использовать, поскольку они не имеют Intellisense, и т.д.
  • Функциональные языки, такие как ML, F # и Haskell, являются настоящими помощниками. Это хорошие языки, чтобы научиться быть всесторонне развитыми, но не для слабонервных.

Я бы начал с занятия по C # в местном местном колледже, а затем взял несколько книг и некоторое время читал. Это даст вам представление как о языке, так и о NET Framework.

Как только вы освоите сам язык и поймете, как использовать некоторые части NET Framework, я бы скачал исходный код для некоторых простых приложений WPF (или Silverlight) и изучил их, чтобы увидеть, как они работают. WPF был бы лучшим выбором для начала, чем ASP.NET, потому что ASP.NET вносит массу дополнительных сложностей в работу с обратными ссылками, HTML и JavaScript, которых вообще нет в WPF. Кроме того, похоже, что будущими приложениями на базе браузера будут Rich Internet Applications (RIA), которые используют механизм, гораздо более близкий к WPF / Silverlight, чем ASP.NET. Я бы начал с WPF до Silverlight просто потому, что когда вы без коробки, вы можете самостоятельно изучить технологию пользовательского интерфейса без необходимости изучать все сложности, связанные с песочницей, и необходимость доступа к базам данных на сервере.

Только после всего этого я смогу погрузиться в разработку n-уровневого приложения. Опять же, я бы посмотрел на многие примеры, прежде чем делать один самостоятельно. Выберите простые и подражайте им. Многие из них вы найдете слишком сложными.

0 голосов
/ 25 января 2010

Другой путь - отправиться на землю UNIX. Получите Mac или установите Linux на ПК и начните изучать, как делать некоторые вещи с некоторыми из распространенных структур веб-приложений; Django, Tomcat, Rails и друзья. Это означает изучение одного или нескольких из Python, Ruby, Java или Scala.

В любом случае, изучите всю концепцию NOSQL. Узнайте, что означает REST и как его применять.

...