Има една тема, на която съм фанатично вярващ. Трябва да автоматизираме всичката хамалогия и да извършваме основно креативна работа.
И няма как да е иначе според моя опит. Операции, които са ми отнемали цяла седмица – 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 например, това отново ще му е от голяма полза.
Ако темата ви е интересна, само оставете коментар и ще добавя публикация с повече ресурси и информация.
Какво е вашето мнение? Има ли смисъл един проектант да учи програмиране?

Винаги компютърната част от геодезията ми е била като детска игра. Безспорно ако се оправяш добре с компютрите може да си в пъти по-продуктивен. Но пък не може човек да разбира от всичко..
Темата е много полезна. Добре е човек да се учи да програмира, дори и да не му трябва в момента. Така когато се сблъскаш с някой проблем ще знаеш че може да се направи програмка за него.
пък и вече програмирането е много много по-лесно и приятно. Има си готови алгоритми, библиотеки и т.н.. Просто пишеш скрипт и подреждаш действия.
не е като да учиш С+, асемблер и т.н. :)
В тази сфера има голяма дупка и поле за действие. Програмистите не разбират какви са нуждите на проектантите, а другите пък не могат да осъзнаят колко могат да си улеснят работата :)
Аз съм ПГС и навремето си бях купил един програмируем калкулатор на старо "Texas Instruments" 59 за доста високата по онова време сума от 500 лв, при положение, че млад инженер започваше в проектантската организация като проектант VI степен със заплата от 105 лв. - това беше около 1980 - 83 г.
Понеже ми беше интересно, а и бях решил, че мога да си улесня живота на проектант, вечерите след работа седях и успях да си направя програмки за решаване на непрекъснати греди, плочи и фундаменти, както и ред други по-малки, но много полезни приложения, като спесификации на армировка и др.
Това доста ми улесняваше живота, пък и КТК-то свикна с програмките / бях ги направил във вид на таблица - входни данни, междинни и крайни резултати / и се оправях с проектите доста бързо.
След това не съм се занимавал с ЛИСП или някакво друго програмиране, но смятам, че наистина човек трябва да има някакъв определен минимум от познания в тази област.
Така, че смело към програмирането - там е бъдещето.
В офиса няколко пъти са ме гледали, че от време на време ми стоят отворени разни прозорци и са се чудели, какво правя, а не съм в AutoCAD-а. След известно време започват да идват да те питат: ама това при теб, как стана толкова бързо.
Не знаех, че AutoDesk са се насочили към JavaScript. Добре да се знае!
Наскоро започнах да преоткривам VBA. Писах си една програмка към Excel, която ми четеше база данни от текстови файл на една стара досовска строителна програма. Програмата сортира отделните колони, подрежда ги в клетките на ексел, разпознава точния тип на информация и преценява къде да я сложи и дали е необходима тази информация и задължително прави проверка за идентичност на данните, защото става въпрос за количествена сметка цени и пр. Не шега работа.
Сега като имам време си човъркам VBA в аутокад и мисля, как да го впрегна в работа, но е доста по-трудно от колкото в Ексел - спор няма. Сума идеи ми се въртят в главата по темата, но кога ще се заема по-сериозно не зная.
Последното ми най-голямо "постижение" е да маркирам автоматично с кръгчета всички ел.контакти на даден чертеж. Може да изглежда елементарно, но бая се изпотих докато разнищя всички неща за да стане работата :) .
На мен темата ми е много интересна, бих изучавал JavaScript ако е по-функционален и перспективен от VBA.
Ако нещо те интересува бих споделил нещо от опита си в писане на макроси с ВБА, но разбира се, изобщо не претендирам за голяма изчерпателност и оптималност в решенията.
Поздрави!
Поздрави!
Защо питам?
Инженер-проектант съм. Харесва ми да работя с AutoCAD и също така да подобрявам знанията и уменията си. Не съм се занимавал с програмиране, но реших и придобих основни познания по AutoLISP. Чудесно е, че с него мога автоматизирам повторяеми процеси, но ми се струва НЕпривлекателна идеята да задълбавам в език, който може да се ползва основно само за AutoCAD. Иска ми се да се насоча към език с по-широко приложение.
Поздрави!