Программист из Commodore 64 хочет вернуться к программированию - есть предложения?

Когда я был ребенком, я писал сотни программ на бейсике, но потом, когда я стал старше, я ушел из этого (когда я обнаружил девочек). Теперь я хочу вернуться к этому снова и не хочу, чтобы мои прежние знания и опыт были потрачены впустую - есть ли современный язык, который хотя бы несколько похож? Каждый раз, когда я пытаюсь выполнить поиск, меня подталкивает к Visual BASIC, но я бы лучше изучал современный язык, который более широко используется. Какие-либо предложения? Заранее спасибо!

2 ответа

Начинать с нуля.

Программирование на современном языке (объектном или функциональном) достаточно отличается от базового программирования на C64, так что вы, вероятно, перенесете больше вредных привычек, чем хороших.

Я бы выбрал язык, который вам нравится, но в основном думаю о том, что вы хотите сделать:

  • Вероятно,Java - это "безопасная" ставка, особенно если вы хотите начать карьеру в программировании или хотите заняться разработкой для Android.
  • Если вы хотите программировать для устройств Windows / Microsoft, то C#
  • Если вы хотите писать для устройств Mac или iOs, тогда Swift.
  • Если вам нравится идея функционального программирования, тогда Clojure - хорошая ставка.
  • Если вы хотите заниматься веб-разработкой, тогда Javascript и, возможно, Ruby
  • Если вы хотите работать над такими вещами, как машинное обучение или статистика, запустите Python, а затем, возможно, R
  • Если вы хотите быть передовым и, возможно, работать над некоторыми вещами DevOps, я бы предложил Go
  • Со всем этим я бы предложил также изучить некоторые разновидности SQL

Языки, которых я лично обычно избегаю, потому что они слишком сложны или склонны преподавать плохие практики программирования: Objective C, C++, Perl, Lisp, Ruby

Если вы хотите изучить другие, более эзотерические языки, я рекомендую две книги:

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

Я был в этом точном положении около восьми лет назад; в то время как я мог сделать некоторую сборку и бейсик, эти навыки, как правило, не были (и не требуются) в современном контексте. Поэтому я пошел изучать базовую степень в области корпоративных вычислений в Великобритании (принадлежащую MMU), потому что там была Java. Из-за правительственной смены в 2010 году, которая сократила финансирование высшего образования, третий год этого курса был отменен для всех дочерних заведений, поэтому я провел год в Университете Дерби, получив степень бакалавра по программированию игр, которая все программировала на C, C++, сборка MIP, C# и Java.

Я нашел следующее полезное:

  • 6502 хорош, если вы хотите изучить более современные сборки, такие как MIP; Z80, вероятно, хорош для x86/64, хотя это скорее обоснованное предположение, чем факт (сегодня я использую и 65x, и Z80 в личных проектах, смешанных с C, когда у меня появляется такая возможность);
  • Си - самый красивый язык, который я когда-либо использовал. Я занимался программированием на C под Windows и для PSP. С тех пор я делал игры для Sinclair ZX81 с C и немного экспериментального программирования для Commodore 64 и Sinclair ZX Spectrum. Я люблю C;
  • Объектно-ориентированное программирование заняло у меня какое-то время, прежде чем я начал думать. Сначала я думал, что объект - это просто контейнер для компьютерной памяти. Может быть, это хорошая основа для размышлений, а может и нет;
  • Поступить в университет - это хорошо, потому что вы всегда чему-то научитесь, если подадите заявление самостоятельно;
  • 8-битный BASIC все еще может научить вас чему-то одному или двум, если вы сможете транспонировать свою логику без плохих практик, которые поощряет 8-битный BASIC;
  • У меня были большие трудности с пониманием баз данных, в основном со стороны реляционной алгебры, но также и со всеми остальными вещами. Наконец-то я начал думать об отношениях M:M где-то в прошлом году после долгих лет рассмотрения этого вопроса. Если вы боретесь с SQL/ базой данных, не сдавайтесь;

Сейчас я работаю с разработчиком веб-приложений на PHP, используя специальные OO и процедурные платформы. Я также работал с более простыми готовыми решениями, такими как Magento, CodeIgniter, Joomla! и ExpressionEngine (построен на CodeIgniter).

Другие вопросы по тегам