Яку мову програмування скільки вчити. Яку мову програмування вчити новачкові? Яка мова програмування краща? Віртуальна машина java

💖 Подобається?Поділися з друзями посиланням

Багато програмістів-початківців страждають питанням:

Яку мову програмування вивчати?

І кидаються з кута в кут, слухаючи рекомендації "крутих спеців". Почнуть вивчати Паскаль. Потім їм хтось скаже, що Паскаль – це відстій, а ось С++ – це круто. Вони кидають Паскаль, беруться за С++. Потім ще хтось їм скаже, що найкрутіше це Асемблер. Всі. С++ забутий, і вони йдуть до нових вершин - до премудростей Асемблера.

Навчальні мови програмування

Таким чином, ви вирішили переключити кар'єру та перейти в технологію. Тепер ви, ймовірно, ставите питання, яку мову програмування ви повинні вивчати першою! Багато мов об'єктно-орієнтовані, але вони все ще мають примітивний тип даних. Вони будуть в основному все як об'єкт, але все ж таки з винятками для цілих чисел або, можливо, персонажів або чогось ще.

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

  • Зосередьтеся на людях, на тому, як люди піклуються про програмування.
  • Те, як ви це робите, має бути дуже не дивно.
  • Високий рівень, приємна, спільна мова.
  • У ньому багато програм.
  • Дуже популярний серед стартапів.
Бене, ти спочатку впізнав Рубі?

При цьому вони забувають головне:

Не буває поганих мов програмування – бувають погані програмісти!

ДУЖЕ ВАЖЛИВО!
Вивчайте програмування, а не мова програмування!

Тому що, якщо ви новачок, то ви поняття не маєте, де ви працюватимете і які програми писати. Цілком можливо, що ваш майбутній роботодавець використовує Delphi, а можливо Visual C++ або FoxPro. Або взагалі вам доведеться розробляти програми для контролерів чи верстатів із ЧПУ.

Якщо ви спробуєте виграти цю угоду і підіть своїм маршрутом, це буде набагато складніше. Як ви можете собі уявити, у стартап-світі, де стартапи постійно повертаються до нових ідей та мають швидко реалізувати функції, це було відразу популярно. Це дозволяє стартапам швидко перебирати та змінювати свої продукти. Швидке прототипування та популярність у стартапів, які бажають швидко ітеративно. Дуже впертий, що схвалює угоду про конфігурацію. . Філософськи всі вважають, що це важливо.

Якщо ви маєте шанс піти, вам обов'язково потрібно піти. Частина цього полягає в тому, що він росте з такої невеликої бази. Ви побачите, що він вказаний як усі три. Що ще важливіше через Блок у вас є наставник, який працює з вами. Ви можете купити копію або ви можете прочитати її безкоштовно онлайн. . Прекрасна річ про курс наставника - це те, що він може бути встановлений для будь-якого рівня досвіду. Якщо ви прийдете в новий, наставник може відкалібрувати курс для цього.

Запам'ятайте, що досвідченому програмісту для вивчення основ нової мови програмування потрібно лише кілька днів. Тобто перебудуватися з Delphi на Visual C++ або назад не так вже й складно (і не так довго). Але для цього треба вміти програмувати!

Якщо ви досконало знаєте мову програмування, але не вмієте програмувати, то яка з цього користь? Це те саме, що знати як забивати цвяхи, але не вміти цього робити. Навіщо вам ці знання, якщо ви все одно звернетеся в результаті до професіонала?

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

Студент побудував цю програму для живих чатів, де ви могли продовжувати спілкування з іншими людьми та спілкуватися з ними. Незалежно від мови, яку вибирає учень, як наставника Блоку, якого ви бачили, були найуспішнішими людьми, яких ви мали. Чи всі вони ділилися чимось, що допомагало роздавити курс?

Саме тому я знову вимовляю свою улюблену фразу: не буває поганих мов програмування - бувають погані програмісти.

Так що почати вивчення програмування можна з будь-якої мови – це не має жодного значення. Головне у програмуванні – це не мова. Головне – це знання алгоритмів, уміння творчо мислити, уміння шукати потрібну інформаціюі т.п. Ну і, зрозуміло, досвід.

Найголовніше – дійти правильної мотивації. Приходьте із пристрастю вчитися, підбирати навичку, щоб змінити кар'єру. Кодування складно, особливо коли ви вперше починаєте, це розчаровує. Вам потрібна всеосяжна мета чи пристрасть, щоб тримати вас у русі. Деякі мали свій проект, який вони збиралися зробити, або ідея запуску, яку вони хотіли запустити. Один студент був зумовлений тим, що вони хотіли навчати навчати своїх дітей і брати участь у їхньому навчанні та їхньому кодуванні.

Віртуальна машина java

Незалежно від того, що вам потрібно, вам просто потрібно щось просунутися вперед і дати вам цю пристрасть. Бібліотека – це просто автономний шматок коду. Він вимагає всього того коду, який вам потрібен, і додає його до вашої програми. Що ми можемо зробити, щоб переконатися, що ми дійсно розуміємо мову, коли ми її вивчаємо. Ви можете написати кілька рядків коду і ви отримаєте багато під капотом. Ви отримуєте багато, що вам просто дано, що вам не потрібно вручну встановлювати та робити. Це добре, тому що для розробника менше роботи, і ви можете швидше створювати вражаючі речі.

Тому не звертайте уваги на чиїсь уподобання. Якщо комусь подобається С++ або С#, то це його право. Однак це не означає, що програміст С++ крутіший за програміста Visual Basic. Це означає, що є різні мови програмування. Так само як є різні способиВживання їжі: азіати їдять паличками, європейці - вилками та ложками. Що гірше, що краще? Та ні те, ні інше. Просто одні звикли до паличок, інші до ложок і виделок.

Це може бути погано, якщо ви не знаєте, що відбувається, і ви просто це робите. Це цікава скарга, тому що це майже схоже на те, що вона надто сильна чи надто хороша. Він був переданий спільноті, і кожен має рівну думку про напрям, на якому має йти мова, і про те, як він має розвиватися. На знак визнання за все, що він зробив, Гвідо був обраний диктатором життя Пітона.

Явний краще, ніж неявний Простий краще, ніж складний Комплекс краще, ніж складний. . Це ієрархія питань розробки мови. Прогалина насправді має сенс, що насправді не так для більшості інших мов. Якщо ви відступаєте по-різному, це має інше значення у програмі. Він менш активно використовується у світі запуску, але він має великий палець у корпоративних речах. Між ними є дуже яскрава спільнота кросоверів. . Як щодо великих даних та науки про дані?

Ваше завдання полягає не в тому, щоб навчитися їсти паличками. І не в тому, щоб навчитися їсти вилкою.

Ваше завдання – не залишитися голодним!

Тож у деяких випадках поїсти можна й руками.

Ще раз нагадую. Головне – це результат. А якими засобами цей результат отримати - це справа переваг і звичок. Якщо ви тільки починаєте вивчати програмування, то у вас ще немає жодних звичок та переваг. Тому починати можна з будь-якої мови програмування та з будь-яких засобів розробки. Оскільки вивчення мови та засобів розробки – це найпростіше. І в процесі підвищення кваліфікації вам все одно неодноразово доведеться переучуватися. Тому що змінюються технології, з'являються нові мови тощо.

Чи ці бібліотеки статистики є причиною того, що люди кажуть, що це швидше? Коли ви дивитеся на швидкість, це інша категорія, більш схожа на оптимізацію мов, яка запускається з різною швидкістю. Ваша найшвидша мова завжди буде такою, яка скомпільована до байтового коду або об'єктного коду прямо на комп'ютері. Це робить цикл розробки набагато швидше, але вони більш повільні мови. Ви не знайдете їх у використанні у матеріалах, які потрібно швидко кричати. Відмінності осторонь, там багато подібності.

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

Висновки:

  • Ваше завдання – навчитися програмувати, а не вивчити мову програмування (хоча це теж буде потрібно, але це не головне).
  • Чим простіше ваша перша мова програмування, тим швидше ви навчитеся програмувати.
  • Виходячи з висновків 1 і 2, можна сказати, що починати краще з мов, які були створені дуже простими для вивчення. Тому я рекомендую вам почати з мови Паскаль або Visual Basic.
А якщо ви ще не підписані на розсилку "Основи програмування", то настав час зробити це: .

Увага! Думка людей, відповідальних питання,
може збігатися з думкою редакції.

Які мови програмування вигідніше вивчати?

Це складніша основа для початківців, тому що є більший обсяг матеріалу, який ви повинні покрити, перш ніж відчути себе комфортно. Інша складність у цьому полягає в тому, що ресурси новачків не так добре розвинені. Справа не в тому, що спільнота масово фрагментована або виникають нові рамки.

Із цим матеріалом завжди варто зіткнутися. Для обох громад є зустрічі по всьому світу. Якщо вони зустрічаються тут, у Бойсі, вони, мабуть, зустрічаються там, де знаходяться люди. Це може бути дуже залякувально, коли ви починаєте починати, тому що це страшно і, начебто ви недостатньо знаєте. Ви б пішли туди, і люди були б раді. Вони дуже раді, що люди потрапляють до неї.



КАРТЕР ПЕЙДЖ

технічний керівник Google

«КОРОТКИЙ ВІДПОВІДЬ: ВЧИТЕ C АБО C++.

Можливо, вам ніколи не доведеться користуватися ним
на роботі, але ви багато чого навчитеся, освоївши його. Найскладніші завдання, з якими стикаються найкращі програмісти, так чи інакше вимагають знання C.
Ось деякі речі, засновані на C:

У них будуть ресурси та поради. Це схоже на те, що наставник робить для вас. Якою мовою цікавіше вчитися чи вчити? Здебільшого, це просто тому, що для людей, які йдуть від новачка до підбору мови, це, безумовно, один із найприязніших. Просто так легко зрозуміти, як це відбувається з англійської мовина код. Часто, роблячи цей переклад, як люди думають, як думають комп'ютери, це складний і важкий процес.

Увага! Думка людей, відповідальних питання, може збігатися з думкою редакції

Ви повинні тренуватись, щоб думати по-іншому. Насправді немає речей, які той чи інший не може зробити. Вони обидва настільки універсальні, що можуть подолати будь-яку проблему. Є речі, які обидві громади вважали за краще зосередити більше. В цілому, вони обидва настільки загальні, що ви можете майже щось зробити з будь-яким із них. Наступні кроки для новачка, що має робити хтось?

ВІРТУАЛЬНА МАШИНА JAVA

ВЕЛИКА ЧАСТИНА LINUX

ЯДРО MAC OS X

WINDOWS (С та C++)

ORACLE DATABASE

МАРШРУТИЗАТОРИ CISCO

Все, що лежить в основі комп'ютерних технологій, складно влаштовано та сильно впливає на продуктивність, колись створили на C – з невеликим вкрапленням асемблера.

C покращить ваші навички в Java.Ви розберетеся, коли віртуальна машина використовує стек, а коли купу, і що це означає. Ви інтуїтивно розумітимете, як відбувається складання сміття. Ви краще розумітимете, як використовувати примітивні типи даних та об'єкти.

Ви також можете перевірити курси Блоку, щоб дізнатися, що є. Для цього ми маємо інформаційні сесії. Вона любить сніданок тако і проводить час, впізнаючи випускників та засновників буткампа у всьому світі. Однак це неправильне питання для початку. Більшість синтаксисів мови дуже схожі, але роблять різні речі на основі проблемної галузі.

Як тільки ви визначаєте проблему, ви можете почати вивчати різні мови, які можуть допомогти вам вирішити цю проблему. Це важливий момент для багатьох інженерів-програмістів-початківців: «Знайдіть відповідний інструмент для роботи». Перш ніж ми почнемо, а дехто може сказати: «Просто стрибай».

C покращить ваші навички у Python.Його система класів багато в чому ґрунтується на C++. Ви навчитеся писати грамотний, добре організований код, що дозволить вам легше працювати з ним у майбутньому. Ви навчитеся обережніше поводитися з глобальними змінними.

C покращить ваші навички у Objective-C.Ви навчитеся керувати підрахунком посилань і зрозумієте, яка частина коду має «володіти» об'єктом. Ви зможете уникати витоку пам'яті.

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

Ви повинні знати основи командного рядка, а також переміщатися по командному рядку. Якщо вам не подобається щось таке, початок роботи може бути розчаровуючим. Іноді речі просто не працюють! Трапляються випадки, коли прості речі, такі як просто встановлення пакетів для мови, можуть не працювати. Вам потрібно буде копатися в операційній системі, щоб з'ясувати, що відбувається, намагаючись зрозуміти загадкове повідомлення про помилку. Якщо це не схоже на те, що ви почуваєтеся комфортно, тоді вам, можливо, варто зупинитися зараз!

Так що краще – C чи C++?Я віддаю перевагу C++, тому що, хоча вони дуже близькі, C++ підтримує об'єктно-орієнтоване програмування. Навіть якщо ви працюватимете лише з функціональними мовами, об'єктно-орієнтоване програмування навчить вас організовувати код таким чином, щоб ви могли створювати та підтримувати великі проекти.

Мови програмування та їх сфери застосування

Отже, ви вирішили продовжити, чудово! Є кілька прикладів, коли вам, можливо, навіть не потрібно навчитися програмування. Зазвичай це люди, які просто хочуть створити блог, сайт електронної комерції чи підприємців, які хочуть створити нову ідеюзапуску. Становлення володіння мовою не гарантує, що ви зможете навіть створити сайт із мовою. Якщо ви бажаєте створити веб-сайт, використовуйте вже існуючу технологію.

Яку мову програмування вивчати?

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

Можливо, ви не зароблятимете так само багато,
як фахівці з COBOL (Один з найстаріших мовпрограмування. - Прим. ред.),які можуть раптово знадобитися. Але після C ви зможете вивчити будь-яку іншу мову. Якщо в індустрії комп'ютерних технологій
і є постійність, воно полягає в наступному: сьогоднішня новинка може через кілька років виявитися старомодною. Навчіться навичкам, які дозволяють набувати нових навичок, і все у вас буде добре».



ШТЕФАН ЦУКЕРМАН

програміст

«Якщо ви вмієте правильно організовувати дані, зовсім не важливо, якою мовою ви володієте. Є три тісно пов'язані речі, які вам потрібно знати:

Основні структури даних та алгоритми (зв'язкові списки, хеш-таблиці, збалансовані та інші дерева пошуку, черги та купи);

Моделювання даних, отриманих із реального світу (розуміння логіки вже збудованих моделей, вміння працювати зі стандартними та сторонніми бібліотеками);

Будь-яка мова програмування, яка вам зручна.Якщо ви добре знаєте мову і можете показати це на ділі, то зможете багато на цьому заробити. Напишіть щось корисне або просто класне, і якщо ви не боїтеся критики (іноді - жорсткою),викладіть код на той самий GitHub. Якщо
ви добре освоїте якусь мову, то зможете вивчити будь-яку іншу.

Взагалі ж я запропонував би вивчити кілька мов
з різними особливостями та рівнями абстракції,
тому що знання лише однієї мови сильно обмежує вас
у підходах до вирішення будь-якого завдання.

Якщо брати найвищий рівень, то я порадив би одну з трьох наступних мов: Perl, Python, Ruby (і як варіант Lua).Вони вбудовано багато корисних структур даних: хеш-таблиці, динамічні масиви та інші. Також вони спрощують роботу
з пристроями введення-виводу та пропонують модулі
та бібліотеки, які дозволяють відразу перейти до вирішення проблеми, а не писати проміжний код, який
і так має бути включений до будь-якої сучасна мовапрограмування;

Імперативна/процедурна мова не надто низького рівня: C, Go, Fortran (Мій вибір - C);

Імперативна/об'єктно-орієнтована мова: C++, C#, Java, Ada (я б віддав перевагу C#, тому що його створювали, враховуючи помилки Java);

Функціональна/мультипарадигмальна мова: Objective Caml, Clojure, Common LISP, Erlang, F#, Haskell, Scala, Scheme. Я схиляюся до OCaml та Scala, тому що
їхній синтаксис простіше, ніж у інших, хоча це, звичайно, суб'єктивно.

Яку б мову ви не вибрали, вивчіть її по-справжньому добре і наберіться досвіду роботи з нею. Вміти створювати реалізацію класу в Java - це чудово, але якщо ви дізнаєтеся, як у Java працює складання сміття (або в чому її недоліки), то станете класнішим програмістом. Добре знати, що Perl можна використовувати модулі,
але зовсім інша справа, якщо ви розумієте, коли вони просто інтерфейси для коду C: це означає, що інтерпретатор не керує пам'яттю автоматично. І так далі".



Розповісти друзям