Бих искал да предложа цикъл от публикации, обхващащи различни аспекти, според мен главните в програмирането и бизнеса, технически и икономически: основи и специфики в програмирането и локалната и глобална бизнес среда.
По някакъв начин това е във връзка с моята теория за "Свобода и творчество чрез 4 часов работен ден, прието със закон"...
Резултатите идват от моя опит като разработчик - system, native, web и като предприемач - собственик на "COBATA Software - Research, Development, Testing, Consulting", предлагащ авторски софтуер за свободни хора и за свободен бизнес.
Програмирането се разделя на две главни категории: системно разработване и приложно разработване.
Системните разработчици се наричат още аналитици и са непростосмъртни, те са учили електроника, висша математика, владеят много и различни технологии и езици за програмиране, от езици от ниско, машинно ниво (assemblers - асемблерни) до езици от високо, по-човешко ниво, принадлежащи на виртуални технологии (.Net-C#, JRE-Java, Javascript, PHP...). Те знаят какво всъщност се случва под капака на машината. Те всъщност знаят как да оптимизират софтуера и по кои направления: да оптимизират по време, използвано от централния процесор (CPU) И/ИЛИ да оптимизират по памет, използвана оперативна памет (RAM)... Те трябва да ръководят приложните разработчици.
Приложните разработчици са простосмъртни, добре е за работата, която вършат, да са учили висша математика и повече различни технологии, но всъщност те не са (като цяло или в частност). Те познават предимно някои езици от високо ниво, принадлежащи на виртуални технологии.
Каква е основната разлика между native и virtual технологиите? В този първи пост ще го опиша по следния начин: Програмите, написани на език на native технология, се превеждат на езика на машината, на езика на процесора (асемблер) и се изпълняват от CPU, което предполага, че програмите трябва да бъдат оптимизирани и най-бързо изпълними. Отново, в този първи пост ще го опиша по следния начин: Програмите, написани на език на virtual технология, се превеждат не на езика на хардуерния CPU (асемблер), а на софтуерно емулиран процесор и език, изпълняван от така наречената Виртуална машина със собствено управление на паметта... В този момент вероятно се досещате, че с този вид посредник между програмата и хардуера (CPU и RAM), виртуалната машина, програмата е по-бавнo изпълнима... И сте прави. И въпросите за оптимизация са по-сложни...
Но защо са включени виртуалните технологии?! - Главно за преносимост на програмите - да се написват веднъж и да се изпълняват на различни виртуални машини за различни хардуерни архитектури...
- Но с native между-платформено компилиране (превеждане на машинен език), проблемът с преносимостта на програмите се решава по един по-смислен, свързан с оптимизацията, начин.
Синонимът на високите технологии НЕ са virtual технологиите, а native, system технологиите - никога няма да видите марсоход, изпълняващ програми на C# или Java...
Но защо виртуалните технологии са по-широко разпространени и има повече възможности за работа, по-добре платени локално - тук в БГ, и глобално - в ЕС...
- Защото това е целенасочена корпоративна, империалистическа политика! Но за това - следващия път...
Продължава... в част 1/2
Много полезна информация. Не знаех, че има непростосмъртни програмисти :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Роска, много благодаря за номинациите!
Всъщност, точно така сме го учили по Софтуерни технологии :). Метафорично или не..., усещането да работиш сред системни и приложни програмисти е коренно различно. Това не значи, че няма нужда от приложни програмисти, напротив, такава област има и трябва да има.
Една от целите на следващите статии ще бъде да покаже преднамереното объркване на двете области в програмирането и пагубното отражение върху икономиката, защото проблемите в един от най-развитите бизнеси - ИТ, са показателни и за проблемите в останалите бизнеси и икономиката като цяло...
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Човече, много съм далече от тази сфера. Радвам се, че имаш желание да споделиш с нас знанията ти, въпреки че все още сме шепа хора. Такива публикации ще привлекат хора. Имаш моята подкрепа.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Роска, от твойта уста в Божиите уши! Това пък е моят живот :)... И споделеният опит, който получих по трудния начин, защото винаги търся не модерното, а новото, здраво стъпващо на издържалото теста на времето, ще спести много време и нерви на тръгналите по пътя на истинските неща.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit