Irony
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
What that reads to me is that they've hired two young "rock stars" and now think they aren't quite rock star enough so they're prepared to dumb it down a bit. It's like organising an open air rock concert with initial interest from The Who, AC/DC, Iron Maiden and Bruce Springsteen and then signing Tiffany, The Proclaimers and Chesney Hawkes as the headliners instead.
This space for rent
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Sounds typical of the 'new breed' of programmers who want the $ without wanting to put the effort in. I wouldn't want to taint everyone with the same brush but I am seeing more of it. Can you tell them to F# off?
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
I know what you mean. I too have been down that road. A colleague of mine (Bruce) had a situation where he designed an entire system to handle maintenance data for the US Army. As the development work started, the company hired a "kiddie" that thought he new everything and convinced the manager to override Bruce's design and approach for a newer approach he read from a book and the latest frameworks. Bruce was pulled off the project and eventually left the company, because he fought the suggested approach and the new guy took over. One year later, the project was a disaster. Pages of code were written, but nothing worked well. It was bloated, slow and unstable. The new guy left the company leaving a huge pile of junk code and the project failed miserably. Moral of the story? Just because it's the latest and hot-off-the-press and the "kiddies" love it, doesn't mean that it will work. No one listens to us old folk any longer... :confused:
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Marc Clifton wrote:
but the new kiddies don't want to learn it (none of them know C#)
Thank god i never had that attitude! Everything i know about C# i learned my self, well yes i got the basics from java (no SCRIPT) but i don't get. If i just would have the chance to get someone with experience on my project and assist me on improving my architecture or other stuff i would be the happyiest person on earth. Sadly im always standing alone getting the "new kiddies" as assistant and yes i get your problem. CTO's need to get in touch with stuff, if they don't understand the base how could they see you performed well. Nonetheless if you can, keep it as you're used to :thumbsup:
if(this.signature != "")
{
MessageBox.Show("This is my signature: " + Environment.NewLine + signature);
}
else
{
MessageBox.Show("404-Signature not found");
} -
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Marc Clifton wrote:
Software engineering seems dead
It is - even on CP there are plenty of people proposing that Software Engineering does not even exist. It could be true - it exist only Engineering and software is a part of it. That I may understand.
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver When I was six, there were no ones and zeroes - only zeroes. And not all of them worked. -- Ravi Bhavnani
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Hi Marc, Empathy is. It's one thing (one of the kinks of homo sap nature ?) for a prophet to be without honor in his own country, but, I think that those who perceive the prophet as a horror, rather than a beacon, deserve to have their eyes put out, or being water-boarded until they come to their senses. Unle$$ you gotta have the moolah ... time to walk with head held high ... away ? Or, lead a palace revolt after first putting the manager's head on a spike ? best, Bill
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
As a consultant, all I here is one big smoking opportunity. I'm amazed the CTO is a CTO and does not understand risk. For most of the engineering I see, and I use that term loosely, we're getting a rash of script kiddies. We also have UI people who want to do embedded systems with JavaScript. Hmmm.
Charlie Gilley Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
-
As a consultant, all I here is one big smoking opportunity. I'm amazed the CTO is a CTO and does not understand risk. For most of the engineering I see, and I use that term loosely, we're getting a rash of script kiddies. We also have UI people who want to do embedded systems with JavaScript. Hmmm.
Charlie Gilley Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Sounds fairly typical to me. Most CTO's are up there having become remote from their origins so have to feign knowledge of the code-verse. I try to avoid working with know-it-all script kiddies - they just fuck everything up.
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Marc Clifton wrote:
Software engineering seems dead,
Sadly I often feel that way. :( /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
Marc Clifton wrote:
but the new kiddies don't want to learn it (none of them know C#)
Thank god i never had that attitude! Everything i know about C# i learned my self, well yes i got the basics from java (no SCRIPT) but i don't get. If i just would have the chance to get someone with experience on my project and assist me on improving my architecture or other stuff i would be the happyiest person on earth. Sadly im always standing alone getting the "new kiddies" as assistant and yes i get your problem. CTO's need to get in touch with stuff, if they don't understand the base how could they see you performed well. Nonetheless if you can, keep it as you're used to :thumbsup:
if(this.signature != "")
{
MessageBox.Show("This is my signature: " + Environment.NewLine + signature);
}
else
{
MessageBox.Show("404-Signature not found");
}HobbyProggy wrote:
If i just would have the chance to get someone with experience on my project and assist me on improving my architecture or other stuff i would be the happyiest person on earth.
You would think. But these kiddies, with their Python and Haskell experience, heavily *nix, come with know-it-all attitudes. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
-
Hi Marc, Empathy is. It's one thing (one of the kinks of homo sap nature ?) for a prophet to be without honor in his own country, but, I think that those who perceive the prophet as a horror, rather than a beacon, deserve to have their eyes put out, or being water-boarded until they come to their senses. Unle$$ you gotta have the moolah ... time to walk with head held high ... away ? Or, lead a palace revolt after first putting the manager's head on a spike ? best, Bill
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
BillWoodruff wrote:
Unle$$ you gotta have the moolah ... time to walk with head held high ... away ?
Hmm, I can't do private email, otherwise I would respond privately. :) Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
I've also noticed the phenomenon you're noting, I don't believe dynamic typing the cause of it. Python, Ruby, Tcl, and Perl are more than 20 years old, and Smalltalk and various Lisps were very dynamic long before that, so the wide availability of the features they offer isn't new. In addition, most of the architectural patterns you described work just as well in Ruby, Python, or JavaScript as they do in C# or Java. And there is certainly a ton of poorly architected, badly designed C# and Java out there. Strong, static typing absolutely helps when it comes to building larger systems. But it won't force good engineering decisions to happen in an environment that doesn't value engineering discipline. In my experience, at least, engineering discipline and good design have been entirely orthogonal to the choice of language. I've seen well designed, well written Python applications that served a ton of users without errors or downtime, and I've worked with buggy C# applications that crashed if you looked at them the wrong way. All of that aside, I do agree with your premise that good software engineering is becoming more rare. I believe the cause, though, is that many organizations have found that getting software in front of users as quickly as possible, even if it is buggy, is more profitable than designing it well from the start. This is particularly true for startups, but it happens often enough in large companies as well. On the flip side of that, if you look at some more mature companies that have to serve lots of users at scale, you'll find that they use a mix of dynamically and statically typed languages, and their engineering discipline and principles are strong regardless of what language they're writing in. That kind of discipline has to be valued by leadership, and if it isn't present at the CTO level, it's unlikely it will be present at all. For the record - I do most of my personal development these days in C#, F# and Haskell, so I'm a big fan of using a good type system. I maintain some Ruby and Python too, though, and I don't think I turn into an undisciplined maniac when I start writing code in those languages. :) Edit One more thought: there's a lot more software in the world now than there was 10+ years ago. Consequently, we need a lot more developers to create it. Perhaps the rapid expansion of the industry has made it difficult to maintain the level of engineering rigor, and also perhaps reduced the average developer ability/talent level? A
-
Let's start with this statement: > I am really impressed on how stable the code is and how good it [the app] looks. Followed by: > We are hedging our bets that we have smart young guys who want to own it [their code]. Both did not want to own [your] code base. That was the major problem. I see your code and see the pub/sub pattern. I see some other things as well and I don’t believe it is the best approach for… ability for others to maintain... OK, so my architecture results in a really stable app, but the new kiddies don't want to learn it (none of them know C#), and the CTO thinks it's not the best approach. W T F. Over the years, I've developed both architectural concepts and actual implementation that is the bread and butter of how I code. However, as this Insider News[^] got me to realize, certainly the CTO doesn't go beyond the basics, and certainly the kiddies (having been one myself once) have no clue as to architecture concepts like services, modules, publisher/subscriber patterns, semantic types, type-based programming, etc. The ironic thing is, most of these concepts I learned 30 years ago in the days of DOS, where we wrote an application using a publisher/subscriber pattern (C++) to handle UI and hardware events and log the stuff. Two things resulted: 1) we discovered QA was often in error when describing what they did (the logs showed otherwise), and 2) we created the most stable app because we engineered it. Those lessons have lived with me since then. Software engineering seems dead, and one of the axes that has dismembered it are programming languages like Ruby, Python, Javascript and the whole duck-typed paradigm. And as you probably know, from my other rants, what are they writing it in? Python, with F# (of all things) for the pieces that MUST use .NET. :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
I dunno about irony, but bring 'em here, and we'll approve a bit of lead-pipery in the Lounge
I wanna be a eunuchs developer! Pass me a bread knife!
-
HobbyProggy wrote:
If i just would have the chance to get someone with experience on my project and assist me on improving my architecture or other stuff i would be the happyiest person on earth.
You would think. But these kiddies, with their Python and Haskell experience, heavily *nix, come with know-it-all attitudes. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Marc Clifton wrote:
these kiddies.... come with know-it-all attitudes
And have probably spent more time bending the CTO's ear in the last few months than you have in the last few years. Keep an eye on the commits, and make sure you're there to fix it, when it all goes pear-shaped -- and also make sure (diplomatically) that everyone knows why you had to fix it. I'd say that affable, parental, mentor-ish derision sounds about the right way to play it ("Yes, they're good kids, and they did try...").
I wanna be a eunuchs developer! Pass me a bread knife!
-
HobbyProggy wrote:
If i just would have the chance to get someone with experience on my project and assist me on improving my architecture or other stuff i would be the happyiest person on earth.
You would think. But these kiddies, with their Python and Haskell experience, heavily *nix, come with know-it-all attitudes. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
If they have real Haskell experience, and could put together a complex program that makes it past Haskell's pedantically strong static typing and solves real business problems, they might come close to justifying a know-it-all attitude. The catch is that when a lot of people claim Haskell experience, what they really mean is that they wrote quicksort in Haskell, tweeted about it, and then went and wrote an awful blog post about monads.
-
If they have real Haskell experience, and could put together a complex program that makes it past Haskell's pedantically strong static typing and solves real business problems, they might come close to justifying a know-it-all attitude. The catch is that when a lot of people claim Haskell experience, what they really mean is that they wrote quicksort in Haskell, tweeted about it, and then went and wrote an awful blog post about monads.
I have been trying to learn Haskell for the last two years. I can confidently say I haven't got a clue.
This space for rent
-
I have been trying to learn Haskell for the last two years. I can confidently say I haven't got a clue.
This space for rent
It's a tough nut to crack. It can be worth it, though. As with most languages that are very different from those in the mainstream, learning it (or even attempting to) can improve your approach to programming no matter what language you're writing it. If you're still interested in trying, have you looked at the new Haskell Book?. It is very well written, and a lot of people have found that it made Haskell understandable where lots of other books and blogs had failed. It's a tad expensive, but it's a self published book by two authors who worked very hard to produce good learning material. I know the idea of paying $59 for an eBook turns a lot of people off, but I bought a copy. Aside from the fact that it's a great book on a topic I wanted to learn more deeply, I also like to reward independent authors who go out on a limb to create resources like this not knowing if they'll sell enough to justify the time investment.