Live data from Hacker News

Ask HN: What technologies greatly improve the efficiency of development?

news.ycombinator.com

61–70 of 87 posts

Re: Ask HN: What technologies greatly improve the efficiency of development?

#61
post #6

It takes some time to get used to, but systems that support image-based development, in the tradition of the Smalltalks and some Lisps, can boost programming productivity a lot, by allowing very tight feedback loops. Combined with a good debugger it makes much easier to diagnose and recover from problems, and iterate over your design quickly. To experience the state of the art on this front, I recommend Pharo. There'…

Pharo is more of a research experiment than anything practical than can be used to engineer complex systems, I know I tried. It comes with many flaws, first and foremost being a lack of vision (often seen in academia) that significantly holds back its potential. When it comes to Smalltalk, I find Squeak to be a far more grounded and coherent experience. As far as state of the art in image-based development goes, that…

> Pharo is more of a research experiment than anything practical than can be used to engineer complex systems, I know I tried. It comes with many flaws, first and foremost being a lack of vision (often seen in academia) that significantly holds back its potential. When it comes to Smalltalk, I find Squeak to be a far more grounded and coherent experience.

After spending a lot of time working in both systems, I unfortunately have to agree with this. However, the GToolkit folks (built atop Pharo) do have a pretty coherent vision and their systems shows it.

The biggest problem with Squeak, to my mind, is that not enough people are working on it. They are simply shorthanded. Even now there is a VM optimization ready to go that would improve performance 3x (SISTA), but it just needs a couple of months' work from what I understand. Vector graphics is another area where there could be worthwhile improvements. Juan Vuletich seems to be making the most headway there all on his lonesome, and while he's made a VM plugin, his work is really only for Cuis Smalltalk and not Squeak.

Still, I've tried to push more and more of my routine work into these environments because I want my computer to be more like them and less like a Unix-with-lipstick.

Re: Ask HN: What technologies greatly improve the efficiency of development?

#62

Time-travel decision like rr and Pernosco. I’ve heard firsthand stories from developers that found and fixed rare race condition bugs in minutes instead of hours or days. https://pernos.co/

oops! s/decision/debugging/

Re: Ask HN: What technologies greatly improve the efficiency of development?

#63

After using copilot - that’s not it (yet). The most useful completions would also be done by an IDE. Especially in statically typed languages. The borderline useful of the completions, you spend a lot of energy scanning a seemingly ingenious solution for bugs. And usually there’s enough one or two deceptively silly bugs that I wish I had just written the code. The rest are silly and entertaining completions. Honestly…

I would disagree. Just like an airplane copilot, GitHub Copilot really shines in rote work: when it can correctly infer what you are about to do, it can and will assist you correctly. It’s not able to make big decisions, but in a pinch, it might be able to give hints. In short: Write your class methods or functions headers-first and then start working on the bodies. Add step-by-step comments to a body before starting…

I've been using it and it's exactly as you say. It's honestly incredible.

Re: Ask HN: What technologies greatly improve the efficiency of development?

#64
post #39

PHP For all the hate PHP gets, a massive positive of it is entire classes of development friction that just doesn’t exist for it. COMPILE: Slow compile times, nope - it’s interrupted & you can run the code instantly. DEVELOPMENT: Confusing and complex development tooling or middleware, nope - just SFTP a single file to your webroot. So the language / environment you pick to develop in can has massive impact on produc…

Isn't it the same for Python?

nope

Re: Ask HN: What technologies greatly improve the efficiency of development?

#66
post #6

It takes some time to get used to, but systems that support image-based development, in the tradition of the Smalltalks and some Lisps, can boost programming productivity a lot, by allowing very tight feedback loops. Combined with a good debugger it makes much easier to diagnose and recover from problems, and iterate over your design quickly. To experience the state of the art on this front, I recommend Pharo. There'…

Pharo is more of a research experiment than anything practical than can be used to engineer complex systems, I know I tried. It comes with many flaws, first and foremost being a lack of vision (often seen in academia) that significantly holds back its potential. When it comes to Smalltalk, I find Squeak to be a far more grounded and coherent experience. As far as state of the art in image-based development goes, that…

see also https://interlisp.org

Re: Ask HN: What technologies greatly improve the efficiency of development?

#67

A whiteboard in a shared space. Still haven’t found anything that can replicate the impact in a remote setting.

This VR blackboard on the Oculus Quest looks interesting.

https://www.youtube.com/watch?v=Aiw3m8EK0rs&t=2s

(I don't have a Quest myself, so I actually don't know if I would like working with it)

Re: Ask HN: What technologies greatly improve the efficiency of development?

#68
post #59

I think automatic code formatters have huge impact. Not just to save time on manually formatting code, they also flag syntax errors; if it doesn’t format on save you know something is wrong. In team context they take away all bike shedding about formatting. Code reviews can focus more on stuff that matters, not just silly formatting tweaks. To me a good formatter is as essential as autocomplete.

Absolutely. Never thought they would make such a difference until I got introduced to them when contributing to SDKMAN!. Never had a conversation about formatting afterwards.

> Never had a conversation about formatting afterwards.

This would be worth it even if they never caught anything else or improved the quality of the code.

To be able to make a decision once as a team and have it be a non-argument going forward: such a gift.

Re: Ask HN: What technologies greatly improve the efficiency of development?

#69
> [what] improved the development efficiency of your team?

* I think that the daily standup is great! Preferably virtual/slack, if you are consistent it will help remove roadblocks and people chasing rabbits down holes (that is, getting stumped and not making progress).

* Clear quarterly goals and monthly meetings with external stakeholders have been helpful to me in the past. This was for smaller teams, but it's fantastic to make sure that you aren't efficiently developing the wrong software.

* CI and automated tests were truly a lifesaver when I built a startup codebase from scratch and they're helpful now (at a different company) in preventing regressions. It's painful to introduce TDD or automated tests if you don't have them, but I promise you, when that regression is caught in CI 6 months from now, you'll be happy you paid the price.

Post reply on HN