Od czasu do czasu ktoś wymyśla język programowania „przeciągnij i upuść” lub narzędzie do projektowania, które „położy kres programowaniu, jakie znamy” i sprawi, że każdy, kto go użyje, stanie się programistą.
Powodem, dla którego żaden z nich nie wykonał jeszcze tej pracy i nie wyłączył nas wszystkich z pracy, jest to, że tak naprawdę, bez względu na to, ile tworzysz funkcji przeciągnij i upuść, i bez względu na to, jak przyjazny dla użytkownika jest, to prosty fakt, że programowanie jest trudne.
Prawdziwe dyscypliny programowania polegają na wiedzy na temat rozwiązywania problemów, na tym, jak modelować procesy i organizować dane, aby były przydatne. Nawet zrozumienie, co w ogóle jest możliwe z komputerem.
Istnieją dowody (jeśli są kontrowersyjne) sugerujące, że niektórych ludzi nie można nauczyć tak myśleć, co prowadzi mnie do kilku interesujących i istotnych myśli. Na początek, jeśli nie możesz myśleć w ten sposób, to jest wielu programistów, więc zawsze możesz zatrudnić kogoś do realizacji pomysłu, jeśli go masz, i uważasz, że warto za to zapłacić. Jeśli potrafisz wystarczająco dobrze pracować z logiką programowania, równie dobrze możesz nauczyć się prawdziwego języka, zamiast bawić się w stosunkowo proste środowisko przeciągnij i upuść.
Mam tu na myśli ogólne programowanie. To samo niekoniecznie ma zastosowanie w bardziej ograniczonym scenariuszu typu DSL, w którym przeciąganie i upuszczanie może być naprawdę przydatnym procesem użytkowników, którzy są specjalistami w tej dziedzinie, a nie specjalistami IT.