4 ms·
I think software is often more complicated then it needs to be. I used to write a lot of vbScript, but now I use Node/JavaScript whenever I need to glue somethi
by z3t4 8y ago
I think software is often more complicated then it needs to be. I used to write a lot of vbScript, but now I use Node/JavaScript whenever I need to glue something together. And there are many modules in Node.JS that you can glue together in order to do something useful. I find it even easier then vbScript/Excel/VBA!
- tluyben2 8y agoI am (as a matter of principle) only working on projects which need to run for 10+ years or cannot be upgraded (firmware for very constrained devices) so yes, software is often far more complicated than it needs to be, but writing it in VBA or JS is not helping imho. Carefully designing, typing and formally proving (parts) is what makes me have applications running on cheap servers with basically 10+ years uptime (besides OS security updates) that give me income without work. I run software (SAAS) more complicated and with more clients on one 15 euro per month server than many run on complex aws setups with node/js/mongo. Also with higher uptime; although aws etc can give you 100% uptime, the quality of most software is so bad that it goes down. Ofcourse maybe you are different and take care to make things robust; that is not the common vba/nodejs hacker though in my experience.
- z3t4 8y agoManaging complexity is not so much about the language, it's more about software development process. But I think it helps to use a safe and simple language. Engineers often forget about their own cost.
- chris1993 8y agoI'm fascinated. What sort of software needs to run with ten years uptime? How do you avoid downtime for operating system updates on those cheap servers?
- jacquesm 8y agoTelco, HVAC, message switches, various embedded systems, alarm systems and so on.
- tluyben2 8y agoA lot of embedded hardware, financial transaction systems, factory critical ERP systems (I built one mid 90s in Clipper which is still running in that place; actually I built a few which are still mission critical at this point in time). But, less hardcore, also my own projects; picturepush.com and flexlists.com for instance have been running for > 10 years making me money. Flexlists was hacked / down once because of a stupid fix gone wrong (just winged it before taking off in a plane). I have many of those; downtime etc will cost me literally money and clients. But running it multi-region AWS etc will cut massively in my margins and, as I see in the many companies I do c-level interim/consultancy for, it really actually results in more downtime at most companies because more moving parts. OS updates I carefully study and only do them if they expose an exploitable issue. Which is almost never the case as most exploits actually require server access. The mentioned hack was my own fault and showed me that I must use the demands I have for the systems I write for clients also for myself. I am redoing my applications (some of them) in C#, F#, TLA+ and Coq at the moment. My goal as an engineer is to only need to update the frontend to current standards and let the rest be untouched. I have managed so far.
- jammygit 8y agoI've always read that proving correctness and using theorem provers was impractical for real projects. Could you elaborate on how you use those tools and for which situations? I'm actually really curious