До трендів, які ви згадуєте, я додав би ще один, який ІМХО пояснює їх:
Існує набагато більше програмістів (як і раніше).
Кількість завдань, які потребують або включають програмування, постійно зростає, і навіть швидше, ніж кількість програмістів. Нині в середньому автомобілі є кілька мікрочіпів. Через 5 років у вашому холодильнику та тостері може з’явитися мікросхема. Через 10 років твоя нижня білизна? ... А комусь потрібно виготовити все те програмне забезпечення, щоб ці роботи були. Таким чином, докладаються всі можливі зусилля для автоматизації того, що є автоматизованим, та для підвищення «продуктивності» (проте це визначено). І набирається все більше свіжих мізків.
Це означає, що більшість активних програмістів сьогодні недосвідчені та / або погано підготовлені до своєї роботи. Щоб досягти достатнього рівня досвіду, потрібно кілька років, і потрібно постійно вчитися, щоб тримати себе там. Суть полягає в тому, що все більше завдань програмування стають все менш складними. Але викликів все ще достатньо для кожного, хто їх шукає .
Дозвольте мені зіграти захисника диявола проти ваших точок вище:
Не потребує часу для впровадження кращих практик
Дуже багато людей, багато людей. Ще десять років тому, коли я вперше виявив тестування приладів та спритний підхід, ніхто з моїх колег не мав найменшого уявлення, що це таке. Нині це майже стандартний матеріал у вузах, тому багато нових випускників це вже розуміють.
Використовуйте код інших людей якомога більше (спеціальний код як відповідальність)
На відміну від чого? Винаходити колесо? Або використовувати код інших людей, щоб уникнути цього?
Я думаю, що важливо відзначити, що нам платять (в основному) за вирішення проблем, а написання коду - це не кінець, а лише засоби для цього . Якщо проблему можна вирішити без написання єдиного рядка коду, вона все одно робить клієнта щасливим. Особливо, якщо таким чином нам вдасться зробити більш надійне рішення швидше і дешевше. Я не бачу жодної проблеми з цим.
Використання мов все більш високого рівня для підвищення продуктивності
На відміну від кодування всього в зборі? ;-)
"Інструменти" для розробки на основі GUI, які значно спрощують "програмування" і не вимагають від людей розуміння сантехніки за кодом
ІМХО будь-яким інструментом можна неправильно використовувати. Що не означає, що будівельники GUI були обов'язково ідеальними або навіть хорошими - більшість (або принаймні деякі) з них є корисними у своїх межах. Але якщо хтось не знає цих меж, це проблема інструменту чи його користувача?
Взагалі, я вважаю (хоча не маю доказів, що це підтверджують), що ще в дні перфокарт та машинного коду були приблизно однакові пропорції існуючого коду, як і зараз, тільки обидва
- загальну кількість коду та
- шанси сторонніх людей коли-небудь побачити такий код
було набагато набагато менше.
Тепер, з Інтернетом та Daily WTF, ми щодня зазнаємо найгірших прикладів. Це трохи схоже на перегляд усіх новин про тероризм і землетруси та розлучення знаменитостей, і викрик наскільки небезпечним і аморальним став цей світ.