autocad-javascriptИма една тема, на която съм фанатично вярващ. Трябва да автоматизираме всичката хамалогия и да извършваме основно креативна работа.

И няма как да е иначе според моя опит. Операции, които са ми отнемали цяла седмица – 5 дена по 10 часа, сега ми отнемат 10 минути, след като съм написал кратка autolisp програмка, която автоматизира тази задача. Автоматизирали сме някои типове проекти за ВиК мрежи, които преди ни отнемаха 3 месеца и сега ни отнемат само 1 месец. Ако не бяхме го направили, отдавна щяхме да сме извън бизнеса.

И аз не съм програмист и ако професионален програмист ми види кода сигурно ще падне от смях. Но на мен не ми пука, че програмката ми върви 9 секунди вместо 1 секунда, защото ми пести една седмица работа. Всъщност, нямаше да ми пука и ако вървеше 10 минути (въпреки че леко щеше да ме дразни).

Но един човек беше казал нещо, което първоначално ме шокира. Не си спомням кой беше, но ми направи силно впечатление. И то беше, че „всеки човек в бъдеще трябва да знае да програмира“. Това в началото ми звучеше много странно…, но колкото повече мисля над тази тема, започвам да вярвам, че е прав.

Естествено далеч съм от мисълта баба на село или чистачката да програмират, но всеки, който се занимава с креативна дейност, тоест създава нещо от нищо, би трябвало да може да програмира.

И тук не говорим за някакви сложни програми и езици. В повечето случаи това са скриптови езици, които са лесни за научаване. Autolisp програмка, която автоматизира дадена повтаряща се лична задача или пък програмка, която ни автоматизира количествените сметки в Excel.

За един професионален програмист това са смешни като сложност задачи. За един проектант, който си е спестил седмица работа от настоящия и всеки следващ проект това е чудо неземно.

За едно проектантско бюро човек, който може да прави скриптове за автоматизация e 10 пъти по ценен от колега, който не може.

Убеден съм, че днес мнозина биха ме сметнали за луд за това изказване, но след по-малко от 10 години хората ще считат това за нещо подразбиращо се от самосебе си.

Аз съм на мнение, че инженерът и архитектът на бъдещето трябва да знаят да програмират.

Но имаше едно нещо, което ме притесняваше до сега

Трябваше да науча прекалено много езици.

Ако искаш да автоматизираш работата с Excel – тази необятна и невероятна програма, то трябваше да научиш VBA за Excel

Ако искаш да си автоматизираш работата с AutoCAD, то трябваше да научиш препоръваният от Autodesk .NET C# или забравения от бога, но обожаван от проектантите Autolisp.

Абсолютно безумие е препоръката на Autodesk инженери и архитекти да учат C#. За това и никой освен професионалните разработчици не го правят.

Autolisp кажи речи не ти върши никаква работа извън средата на AutoCAD. Появява се друг по-добър софтуер и тези умения не ти вършат никаква работа.

И тук идва светлината в тунела. Възходът на JavaScript

Миналата година Autodesk направиха JavaScript API.

С две думи мнозина определят JavaScript като езикът на бъдещето. Работи на всяка платформа, бърз е и изглежда, че ще може да се ползва на всякъде.

JavaScript можеш да ползваш в AutoCAD, но можеш да го ползваш и във Photoshop или другите продукти на Adobe.

Google Docs са напълно програмируеми с Google Apps Script, което пак е JavaScript

Не съм разглеждал до каква степен човек може да замени VBA с Javascript в Excel, но го има и тенденциите отиват в тази посока.

Все повече с времето ще става така, че с JavaScript можеш да си автоматизираш всяка една повтаряща се и хамалогична задача, която ти отнема време, независимо с кой софтуер работиш.

Езикът за програмиране JavaScript става нещо като английския език – с него можеш да се оправиш на всякъде.

Естествено най-популярен е за уеб и мобилни приложения, но ние тук говорим как един специалист да може да си автоматизира работата със софтуера, който вече използва.

Колко трудно е да се научи човек да програмира?

Звучи много по-трудно отколкото всъщност е.

Повечето хора, които се занимават с AutoCAD са инженери, архитекти или дизайнери и са учили в университета базата и основните понятия по математика, които са им необходими.

Особено при скриптовите езици всъщност ние задаваме последователност от команди, които така или иначе бихме направили на ръка.

Например при един обект имаше изчертани надлъжни профили и се оказа, че кота дъно на всичките профили (4,000 точки) трябва да се задълбаят с 5 сантиметра. Направих програмка от няколко реда която гласеше:
1. Избери всичките текстове от този слой;
2. За всеки текстов обект направи следното:
2.1. Вземи стойността на котата
2.2. Извади от стойността числото 5 и запиши новата стойност

5-6 реда ми спестиха цял ден работа. Така или иначе правя същите операции, просто компютърът ги прави вместо мен.

Кой няма нужда да учи програмиране?

Най-вероятно само хората на мениджърски позиции, които така или иначе не отварят софтуер като AutoCAD, Revit, Civil или ArchiCAD.

Също така и на чистачката не и е необходимо.

Заключение

Колкото и екстремна да ти звучи тази мисъл, ако искаш да си 10 пъти по ценен за твоят фирма или твоите клиенти, започни да учиш JavaScript за програмата, която използваш най-често.

Моето предсказание е, че за в бъдеще JavaScript ще стане универсален език, който ще ни помага в работата с компютъра. Нещо като английски език за хората, които работят с компютър. Може и да оцелееш без него, но няма да стигнеш далеч.

Да не програмираш е все едно да ползваш сметачна линия, а другите да ползват калкулатор или Excel.

Ако човек вече има опит с друг език за програмираме разбира се това само може да му помогне. Дори да тръгне сега да учи VBA или Autolisp например, това отново ще му е от голяма полза.

Ако темата ви е интересна, само оставете коментар и ще добавя публикация с повече ресурси и информация.

Какво е вашето мнение? Има ли смисъл един проектант да учи програмиране?