6 ms·
I’ve worked deeply with about 9 programming languages. Not hobby level, but client work level. They did not really help me to become a better software enginee
by eric4smith 4y ago
I’ve worked deeply with about 9 programming languages.
Not hobby level, but client work level.
They did not really help me to become a better software engineer.
What did?
Being able to understand the business of the customer and create software that helped them do that easier.
That’s why today I tell junior programmers that almost everything we do these days could be accomplished with Bash, text files to hold the data and static html files.
Don’t focus on the language, focus on the business case.
Sure some languages are more efficient than others but all those do is help you build a solution faster. And languages are similar for the most part - so that helps you learn new languages faster.
- deltasevennine 4y agoThat's because you've been learning languages that are similar. The algol family of languages with OOP. You need to learn languages outside of this family to see the benefit. But the benefit won't be in your ability to do "business". It will be exclusively improvements in programming unrelated to "business programming" >That’s why today I tell junior programmers that almost everything we do these days could be accomplished with Bash, text files to hold the data and static html files. Why? Junior programmers are aware of this already. And get this: junior programmers are even aware that everything can be accomplished with assembly language. They are also aware why things aren't done in assembly, typically.
- gjm11 4y ago> That's because you've been learning languages that are similar. The algol family of languages with OOP. What makes you so confident of that? I took a look at eric4smith's website. His current language of choice is Elixir, which is not in fact a member of "the Algol family of languages with OOP".
- deltasevennine 4y agoThat's one language. He said he learned 9. I'm betting out of the nine of those most of them are from the algol family and involve OOP. Yeah it's an assumption. My confidence is based on the fact that most languages are from the algol family and are OOP.
- mattmanser 4y agoThe GP didn't mention any languages, but if you open his profile it says 'Elixir developer'. Maybe a brief bit of research before throwing stones next time?
- deltasevennine 4y agoGP mentioned 9 languages. I'm betting most of those 9 languages are inline with what I said. Yeah it's an assumption, but it's a very likely one. Second of all, no stones were thrown. I made an educated guess. Don't assume I'm "throwing stones", this is not an attack. Just a statement of my thoughts. I would say the "throwing stones" comment was waay more accusatory and presumptuous then mine, and would indeed require verification before pointing a finger. But to each his own. Yes... I certainly admit I'm making an assumption about the 9 programming languages he learned.
- jacknews 4y ago"Being able to understand the business of the customer and create software that helped them do that easier." I don't consider that software 'engineering' necessarily. Yes to be a more useful employee or more successful freelancer etc understanding the business case is absolutely an essential skill. But the 'engineering' begins once the problem has been defined; how do you actually implement the vision.
- wiseowise 4y agoTheir point still stands. There’s little that can’t be accomplished by any modern, general-purpose programming language.
- jacknews 4y agoYou can build it all with Church calculus, but the point of engineering is to create and then follow better methods to solve problems.
- RHSeeger 4y agoThis is what I see as the main point to get out of this. The larger your toolbox, the better you are able to solve problems. Learning new languages adds tools to that toolbox.
- ad404b8a372f2b9 4y agoDefining the problem is a core part of engineering to me.
- jacknews 4y agoOf course understanding the requirements is essential, but the post effectively said the most important aspect of SE is to help the client business. Imagine it's civil engineering, and we're talking about building a bridge. To what extend does a bridge engineer need to understand regional trading patterns, and what bridge location and size would give maximum economic benefit? To me that's a separate discipline to building actual bridges, and no amount of practice with different bridge designs or methodologies is going to be relevant to that, and vice versa.
- sicp-enjoyer 4y agoYou can write basically the same code with different syntax, or you can learn the paradigms, styles, and idioms associated with each language. That latter is the valuable part because it teaches you a new way to conceptualize and approach problems.