Чи потрібен недосвідченому програмісту IDE? [зачинено]


12

Читаючи це інше запитання, я змушую мене замислитись, чи я (як абсолютний програміст для початківців PHP) повинен дотримуватися WAMP і Notepad ++ або переходити на якийсь IDE, як Eclipse.

Зрозуміло, що досвідчені розробники отримають користь від великої блискучої IDE. Але чому абсолютний новачок повинен використовувати IDE? Чи переваги переваги переважають над додатковою задачею вивчення ІДЕ над навчанням розвиватися?

Оновлення для уточнення:

Моя мета - отримати базовий досвід програмування. Вибираючи PHP та WAMP (і FogBugz і Kiln), я сподіваюсь уникнути необхідності орієнтуватися на хитрі / безладні специфіки ОС та компілювати тощо і просто зосередитись на базових функціональних можливостях, таких як онлайн-реєстраційна форма для користувачів.

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

Є так багато запитань. Стільки підводних каменів, напевно, я маю помилитися. Це питання - це лише одна деталь (моя перша!) Цієї головоломки.


Залежить від того, що ви розумієте під IDE ... Блокнот ++ може бути використаний як рудиментарний IDE.
Oded

10
Так! Немає! Я не знаю .. Іди, що підходить тобі!
Бен

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

Я здійснив невеликий вичісування екрана на programmers.stacexchange.com. Використання слова "залежно" або "залежно", схоже, збільшує ймовірний обсяг голосів, тоді як люди, які відповідають на фрази, що починаються з "я б ..." або починаючи з "так" або "ні", як правило, не приймаються до уваги. Порада для написання дописів: не майте чіткої думки ні про що.
Джейсон Себрінг

Відповіді:


21

Залежно від того, яку програму ви намагаєтеся створити, IDE може значно спростити весь процес, особливо створення та розгортання. Особливо це стосується випадків, коли ви використовуєте відносно складні рамки.

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


16

Чи повинен n00b використовувати IDE? Це залежить від того, якою є ваша мета як n00b. Ось кілька можливих негайних цілей:

1) Просто почніть вивчати мову програмування / щось про програмування (полегшене введення)

2) Станьте майстром і зрозумійте, як все працює (важкий вступ)

Для 1) використовуйте IDE . Використання хорошого IDE зробить ваше життя ПРОСТІЙ. Не важче. Дізнатися, як використовувати IDE, рідко буває так важко після встановлення. Потім для компіляції та запуску програми просто натисніть кнопку "запустити" або щось подібне. Налагодження також буде простіше ... просто натисніть якусь кнопку налагодження.

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


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

3
Я не кажу, що є різниця в ніч і день, але я, безумовно, не класифікую Makefiles і все це як "тривіальне" для нового розробника. Я також не кажу, що ви будете зовсім забуті, якщо почнете з IDE. Я кажу лише, що, починаючи з командного рядка, ви даєте краще уявлення про те, як все працює.
Кейсі Паттон

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

3
@ReiMiyasaka, чи навчають вас ІД цього шляху? Моє враження, що багато кодерів ніколи не з'ясовували, що відбувається між введенням коду в IDE та створенням виконуваного коду.
Вінстон Еверт

@Winston Так, вони. Не можна не помітити, що щось відбувається, щоб зібрати десятки файлів коду та бібліотеки. Вивчення точного формату даних, що описують взаємодії, є корисним, але, знову ж таки, це щось, що можна дізнатися за кілька годин, коли вже зрозуміють, що щось дійсно відбувається. Ви коли-небудь пробували викладати пов'язані списки, не пояснюючи, для чого вони хороші? Пов'язані списки мають набагато більше сенсу для людей, коли у них є підстави потрібно знати їх деталі. Те саме стосується makefiles та параметрів компілятора і все таке.
Рей Міясака

5

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

Коли ви вперше починаєте, ви збираєтеся робити помилки. Ви десь забудете напівкрапку або помилково напишете ім’я змінної. Без і IDE вам доведеться зосередитися саме на мові та тому, як ви її написали. Це цінне навчання.

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

Мені подобається заводити нову мову лише з текстового редактора, тоді я заглядаю в будь-які плагіни Eclipse, як тільки я досить впевнений.


4

додаткова проблема вивчення IDE

Ви маєте на увазі ту частину, де IDE робить більшу частину роботи для вас?

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

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


2
Я працюю з PHP професійно, і я не використовую IDE, я використовую Vim!
Gary Willoughby

1
@Gary VIM - це IDE.
праворуч

2
Ні, це редактор. Визначення IDE: en.wikipedia.org/wiki/Integrated_development_environment Vim - це не те.
Gary Willoughby

1
Я майже впевнений, що Vim поставляється з такими речами, як завершення коду, або може бути доданий для цього, що в значній мірі робить його IDE для цієї мети.
DeadMG

3
Існує велика різниця між VIM та IDE. VIM не приховує подробиць того, що відбувається, як це робить IDE. Багато переваг IDE доступні у VIM. Але називати VIM IDE просто не правильно.
Вінстон Еверт

4

Я думаю, що недосвідчений розробник PHP був би набагато продуктивнішим із IDE.

Питання має бути, чи потрібні досвідченим розробникам PHP IDE?


2
ось насправді те, що я вважав, що це означає, що неправильно
читати

4

Як правило, я вибираю так:

  • Якщо це невелика програма з не багатьма файлами, дотримуйтесь командного рядка.
  • Якщо це велика програма, у якій багато файлів, використовується IDE, оскільки ви постійно переходите між файлами, і ви можете скористатися функціями швидкого перегляду та огляду (особливо об'єктно-орієнтованих мов).

Навчіться використовувати обидва, коли це доречно. Почніть з командного рядка.


3

Є кілька речей, які допоможуть будь-якому програмісту будь-якою мовою, незалежно від рівня кваліфікації:

  1. підсвічування синтаксису та відповідність дужок

  2. перевірка синтаксису під час введення тексту (дуже зручно, щоб уникнути десятка помилок, що надходять із однієї забутої ;або невідповідної дужки)

  3. простий перегляд документації (однак це не потрібно в самому IDE),

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

лише 1 і 2 повинні бути в редакторі IDE /


3

Я завжди використовую IDE (Eclipse) і рекомендую його навіть новачкам. Основні переваги, якщо ви починаєте:

  • Миттєвий відгук про неправильний код (наприклад, синтаксичні помилки в коді)
  • Подбайте про створення проектів за допомогою стандартних конвенцій, тому вам не доведеться турбуватися про конфігурацію / специфіку ОС тощо.
  • Часто можна генерувати зразок коду, на якому ви можете будувати та вивчати
  • Уникає запам’ятовування цілого набору прихованих варіантів командного рядка та викликів, щоб ви могли зосередитися на коді.

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


1

Інше, не задане питання: чи потрібен досвідченому програмісту PHP IDE?

IDE допомагає вам автоматизувати процес збирання - але з PHP немає процесу збирання. Підсвічування синтаксису - це дуже приємна особливість, але для цього вам не потрібен повний IDE, багато легких текстових редакторів забезпечують виділення.

Я роблю свою роботу PHP в NetBeans, але це лише тому, що я звик до NetBeans. Надіюсь, я міг би це зробити так само добре в будь-якій кількості текстових редакторів.


1

Якщо ви обґрунтовано сподіваєтесь, що в основному ви будете писати код протягом життя, або пекло, навіть якщо ні - вам слід отримати розширюваний редактор / IDE і почати його вивчати. Якщо ви нічого не можете собі дозволити, займіться програмою Notepad ++ або подібним - щось, що дозволить вам почати все життя, вирішуючи "як мені подобаються гарячі клавіші" та вивчати звичайні.

Ваші інструменти IDE, як я їх називаю - Visual Studio, Eclipse, What-have-you, прийдуть і будуть розвиватися, часто стаючи занадто об'ємними і невідчутливими, щоб їх використовувати, коли ви просто хочете розмити код або зробити масаж / refactor це певними способами.

Таким чином, у вас є ваш "домашній" редактор, той, який залишається з вами все життя, якого ви любите більше, ніж ваш GF.

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

Мій домашній IDE - це SlickEdit, який я використовував і розширював протягом останніх 10+ років, за цей час я написав для нього 120+ модулів макрокоманд, і у мене є 1000+ гарячих клавіш.

Я пам’ятаю їх усіх? Ні, напевно, приблизно в половину в будь-який момент часу, можливо, 60%, але інші призначені для спеціалізованих завдань, які я, нарешті, шукаю на вимогу.

Пам’ятайте, життя коротке, і якщо ви зробите математику на будь-якому великому проекті, ви побачите, що навіть якщо доброзичливі прибульці, де телепатично диктує ідеальний код у голову, вам набирають 8 годин на день - все одно знадобиться МЕСЯЦІ писати щось велике (без розумного редактора, макросів, шаблонів тощо).

Ось чому. Плануйте довгостроково, так часто прокладайте дорогу в майбутнє.

Насправді, дуже часто. Хоча це коштує вам і зараз.


1

Я можу поділитися лише власним досвідом, а також деяким розумінням того, як це впливає на розробника.

По-перше, я зазначу, що мені подобається працювати в обох типах середовища. Чи використовую я Vim та makefile з GCC або QtCreator / Visual Studio з відповідними середовищами та компіляторами, суто залежить від самого проекту та масштабу програми.

Для навчання я час від часу використовую Vim просто тому, що я ненавиджу не знаючи, як все працює, і просто вимикаюсь і щось пишу через незнання. Коли я вперше навчився кодувати, я це робив через C # та Visual Studio. Це навчило мене основ. Через деякий час, проте, я вирішив взяти це на себе, щоб навчитися використовувати Makefiles та гідний редактор тексту.

У коментарі Рей Міясака сказала, що кожен може навчитися користуватися Makefile протягом декількох годин, не маючи нічого більше, ніж сторінка. Я цілком від цього не згоден , особливо для когось нового. Це може зайняти кілька днів (принаймні, в моєму випадку це зробило). Також варто відзначити, що більшість документації на Makefiles охоплює сотні сторінок, і хоча ви можете добре ознайомитись на одній сторінці, щоб дійсно знати, як ними користуватися, потребує набагато більше часу та читання.

На мою думку, якщо ви досить амбітні, і ви тільки почали вчитися, розкачайте дистрибутив Linux (неважливо, який з них, якщо він має хороший менеджер пакунків і є відносно стабільним - рекомендую Linux Mint або навіть Debian себе) та вивчити C. Почніть з текстового редактора (підкреслення синтаксису, автоматичне відступ та підтримка номера рядка - обов'язкові - все інше є суто перевагою), просто навчившись викликати компілятор через CLI. Після того, як ви потрапили до того моменту, коли ви минулого навчилися кодувати, використовуючи лише один вихідний файл для кожного проекту - це тодіпочніть вчитися писати Makefile. Також варто підібрати Valgrind (якщо ви пишете на C / C ++, я не впевнений, чи підтримує він інші мови програмування). Після декількох місяців кодування в цьому середовищі, коли ви берете на себе більші проекти, вивчіть IDE (бажано щось FL / OSS), і вам слід добре піти.

Причина, чому я пропоную це, полягає в тому, що використання IDE сильно обмежує програміста, коли він тільки навчається. Автозавершення та управління проектами / збірками дуже приємно, однак якщо ви не маєте уявлення про те, як це працює під капотом, ви будете сильно обмежені в плані налагодження та / або з'ясуванні, чому ваша програма не є працює належним чином, особливо якщо це пов’язано з неправильним налаштуванням компілятора чи налаштуванням, визначеним вами чи самим IDE.

Ура.


-1

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

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


-1

На моїх заняттях з інформатики ми не починали з IDE. Ми це зробили ПІСЛЯ ми зрозуміли, що робимо.

ІДЕ, як правило, занадто сильно абстрагується для початківців і в кінцевому підсумку створює освічених дурнів. На початку важливо, що ви добре розумієтесь, або в кінцевому підсумку будете думати лише в IDE і не зможете зрозуміти основні речі без цього. Ви також будете обмежені лише тим, що IDE може зробити. Деякі ІДЕ явно злісні в таких абстракціях і мають власну парадигму, що насправді змушує людей тупіше користуватися нею. Веб-форми для конкретних випадків для ASP.NET.

Є що сказати для завантаження себе.


-4

Ось мій погляд на це:

  1. Початківці - єдині люди, яким потрібна IDE. Це відбувається через налагодження - у початківців все ще можуть виникнути проблеми з розумінням того, як працює виконання програми, і перегляд коду може допомогти у цьому.
  2. Програмісти Mediogre можуть пришвидшити процес програмування, оскільки надають функції IDE, які дозволяють вам легше пересуватися у великих сховищах джерел та знаходити, де кожен символ знаходиться у вихідному коді. Їм більше не потрібні ідеї, але іноді це полегшує життя.
  3. Просунуті програмісти не потребують IDE. Вони робили це досить довго, щоб користувальницький інтерфейс IDE був занадто повільним для них - натискання клавіші та очікування відповіді займає занадто багато часу - потрібна миттєва відповідь, щоб не витрачати час. Навігація по вихідному коду не є основним пріоритетом, оскільки вони можуть запам'ятати, де знаходиться кожен фрагмент коду - вони прочитали весь код, перш ніж щось змінювати.

1
Я би відмовився голосувати, якби міг. При роботі з великими проектами неможливо тримати все в голові. Вам не обов'язково потрібно використовувати язь, але маючи деякий інструмент (и) для цього є обов'язковим.
Bwmat

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