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


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.