Алгоритм розвитку навчання [закрито]


16

Це досить загальне питання. Я знаю трохи Perl і Python, і я хочу вивчити програмування більш глибоко, так що, як тільки я отримаю вигляд цього, я можу почати розробляти програми, а потім веб-сайти.

Я хотів би знати алгоритм (послідовність кроків :)), який би міг описати мій підхід до вивчення програмування взагалі. Я розмістив невеликі запитання на Perl / Python, і я отримав велику допомогу від усіх.

Примітка: - Я не поспішаю вчитися. Я знаю, що це потребує часу, і це добре.

Будь ласка, дайте будь-які пропозиції, які вважаєте правильними. Крім того, будь ласка, не підштовхуйте мене вчитися Ліспу, Хаскеллу і т. Д. - Я початківець.


Чи є якась конкретна мова, яку ви хочете вивчити? Я знаю, ви згадуєте perl та python, це те, що ви шукаєте, щоб потрапити?
Джейсон

Тож, про що ви просите, це ... що саме? Процес, за допомогою якого ви вивчаєте певну мову? Програмування себе? Використовуючи що?
гленатрон

Я думаю, це хороше питання. Я відредагував, щоб зробити його трохи зрозумілішим.
Гері Роу

Відповіді:


28

Алгоритм 11 кроків для вивчення нової мови програмування

На даний момент я вивчаю Лісп , і рекомендую наступний алгоритм:

  1. Поцікавтеся, чи варто вивчати мову і де можна знайти хороші ресурси. Якщо фахівці дають позитивні відповіді на мову, перейдіть до кроку 2.
  2. Створіть початкове середовище програмування. Нехай це буде просто: текстовий редактор та компілятор / перекладач. Голий мінімум. Розгляньте конкретний обліковий запис користувача на вашому комп'ютері зі спеціальною кольоровою гамою, щоб змінити налаштування.
  3. Створіть "Привіт, світ!" застосування.
  4. Вивчіть загальні синтаксиси та контрольні висловлювання (якщо-то-інше, повторіть, доки тощо). Створіть пісочну скриньку для перевірки простих контрольних випадків (правдивих / помилкових оцінок тощо). Спробуйте кожен примітивний тип (int, double, string тощо). Виконайте обчислення валюти. Гра відгадування чисел (як запропонував @Jeremy ) для цього добре.
  5. Створіть клас (якщо застосовується) за допомогою декількох методів / функцій. Здійснюйте дзвінки між функціями. Застосувати контрольні оператори.
  6. Вивчіть масиви та колекції. Створіть відповідно складні приклади, які створюють масиви та колекції кожного з доступних вам класів / функцій / примітивів
  7. Дізнайтеся файл IO. Створіть приклади читання, маніпулювання та запису бінарних файлів та файлів на основі символів.
  8. Задайте більше питань щодо ідіоматичного програмування в межах мови (покажчики, макроси, монади, закриття, рамки підтримки, середовищі побудови тощо).
  9. Виберіть (або адаптуйте свій існуючий) IDE для роботи в рекомендованій ідіомі.
  10. Пишіть різноманітні програми, які вам подобаються (або вашому начальнику).
  11. Після 1 року поверніться до кроку 1 для іншої мови, зберігаючи інтерес до тієї, яку ви тільки що вивчали.

1
Я вважав, що гра «вгадування числа» є чудовою другою програмою для написання. (На кроці 4.) Це дозволяє дізнатися про цілі числа, булеві, введення / виведення тексту, циклічне виконання та умови.
Джеремі Хайлер

@ Джеремі Гарна пропозиція, я вклав його туди.
Гері Роу

Привіт Гері, дякую за детальну інструкцію, я спробую відобразити його з python - дуже добре покрокове пояснення, чому я люблю цю ланцюжок форумів ... @ Jeeremy Так, я на цьому :)
user9057

спеціальну колірну гамму для зміни зміни мислення , чи можете ви пролити на це світло?
Сантош Кумар

Я прагну вибирати більш темну колірну гамму під час роботи з Lisp, але використовую світлу для Java. Колір нагадує мені переключити своє мислення.
Гері Роу


2

Для кожної мови, яку ви хочете вивчити L

  • Крок 1: Вивчіть синтаксис L.
  • Крок 2. Напишіть компілятор Lулюбленою мовою.
  • Крок 3: Напишіть компілятор для вашої улюбленої мови L
  • Крок 4: Напишіть великий проект на ідіоматичному етапі L
  • Бонус: Переконайтесь, що результат кроку 2 сумісний з результатом кроку 4.

Це мало б охопити це, повертаючись до нас із звітом про успіх за 10 років .

Якщо все, що ви хочете, - це навчитися займатися розробкою веб-сторінок, і ви вже знаєте Perl та Python, у вас майже все вистачає для початку. Я б сказав, почніть вивчати додаткові та додаткові можливості Apache (а конкретно mod_perlі mod_python), а потім займайтесь практикою. Можливо, візьміть книгу-дві про програмування CGI, мережеве спілкування та подібні, а не конкретні мовні посібники.

На завершення - бути початківцем - це не привід не вчитися Ліспу. Відвідайте SICP та відео лекції . Не передбачає будь-якого рівня знань з розробкою, а також комп'ютерів. Насправді цитувати вступ до відео лекцій

Я хочу вітати вас на цьому курсі з інформатики. [Це пише на дошці] Насправді це страшний спосіб почати. Інформатика - жахлива назва цього бізнесу. Перш за все, це не наука [закреслює "науку"]. Це може бути інженерія або це мистецтво. [...] Це також не дуже-то стосується комп’ютерів [закреслює "комп'ютер"]. І справа не в комп'ютерах в тому ж сенсі, що фізика насправді не в прискорювачах частинок. І біологія насправді не про мікроскопи та чашки Петрі. -Хал Абелсон


Звучить весело. Побачимось через 10 років!
Джеремі Хайлер

+1 для кроку 2 напишіть компілятор для L! Мозок ... болить .. так ... багато ... зараз.
Гері Роу

-2

Я не хочу багато говорити, окрім двох кроків.

  1. Вивчіть структуру даних
  2. Вивчіть Вступ до алгоритму

Програмування PS - ваше щоденне завдання.


Програмістів вам рекомендують "сказати багато", не соромтесь :) Наведіть детальну інформацію про свої поради, наприклад, ресурси, посилання або приклади з власного досвіду.
Матьє

-2

Найкращий спосіб - вивчити основи / основи мови програмування, а потім приєднатися до компанії як молодший розробник (підрядник). Це буде найшвидший спосіб навчитися і добре заробляти гроші для свого часу;)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.