The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
1. The lounge is for the CodeProject community to discuss things of interest to the community, and as a place for the whole community to participate. It is, first and foremost, a respectful meeting and discussion area for those wishing to discuss the life of a Software developer.
The #1 rule is: Be respectful of others, of the site, and of the community as a whole.
2. Technical discussions are welcome, but if you need specific programming question answered please use Quick Answers[^], or to discussion your programming problem in depth use the programming forums[^]. We encourage technical discussion, but this is a general discussion forum, not a programming Q&A forum. Posts will be moved or deleted if they fit better elsewhere.
4. No politics (including enviro-politics[^]), no sex, no religion. This is a community for software development. There are plenty of other sites that are far more appropriate for these discussions.
5. Nothing Not Safe For Work, nothing you would not want your wife/husband, your girlfriend/boyfriend, your mother or your kid sister seeing on your screen. For those discussions where you wish to be a little more frank, use the Soapbox[^]
6. Any personal attacks, any spam, any advertising, any trolling, or any abuse of the rules will result in your account being removed.
7. Not everyone's first language is English. Be understanding.
Please respect the community and respect each other. We are of many cultures so remember that. Don't assume others understand you are joking, don't belittle anyone for taking offense or being thin skinned.
We are a community for software developers. Leave the egos at the door.
Programming is the most intellectually stimulating activity that I have ever performed. It is not so much the making of things from nothing as it is the satisfaction that comes when I have created a thing of intellectual beauty. To me programming is a combination of art and science. And, in programming, technical competency goes hand in hand with technical currency.
So that you understand from whence I come I would like to introduce you to what I have done during my career, and what I continue to do in a more relaxed environment: I wrote stand alone multi-threaded client/server systems; graphics software and effective user interfaces to complex scientific and engineering applications; real-time and embedded system software and firmware; and communications system software. I continue to be fluent in multiple computer programming languages (e.g., C#, C, Ada, FORTRAN, COBOL, and Pascal). I have programmed within Windows, UNIX, Linux, VxWorks, as well as others too old and long ago to mention.
What bothers me about programming today is the number of people who claim to be programmers but who are not. These wannabes claim to be programmers but when you look at a wannabe's accomplishments, they usually include applications that are written in a macro language (such as VBA) and that are usually trivial and unfocused. We need a word to describe this class of people who are intelligent enough to pretend to program without actually programming. In many other career paths, they would be called apprentices.
Let me define what I did in unambiguous terms. I was a professional production programmer who wrote computer software for money paid by someone who would probably not use the software.
I firmly believe that programmers should be held accountable for their mistakes (witness the Boeing 737 Max disasters). I am convinced that the only solution to this problem is the certification of programmers by a vendor-independent organization. Although Code Project has indicated that it is opposed to such a certification organization, I believe that the arguments offered were specious. My question is simply "Doesn't the programmer who wrote the software that caused some type of catastrophe share the responsibility for the disaster?" It is for this reason that certification is required. Once such an organization is in place, companies that do not wish to share the blame for a software based disaster can hire a certified professional. The certified professional should then use certified journeymen and certified apprentices to design and implement the software.
One of my favorite managers was not always a manager. In 1976, when I first met him, he was an expert FORTRAN programmer - more than expert - brilliant. About a year later, he told me that he was going to move into management. I expressed my disappointment and told him that within a year he would no longer be technically competent. Of course, he disagreed. He managed with flair. He made it clear to the people who worked for him that they were the foremost of his concerns. He proved his commitment more than once and his reputation as a good manager grew. About a year after he became a manager, he called me. He was writing a simple FORTRAN program but couldn't recall how to reposition a file pointer to the beginning of the file without first closing and then reopening it. It was a simple thing to do in FORTRAN (the FORTRAN statement is REWIND). I reminded him of my prediction and suggested that it had come true. However, in light of his growing reputation as a great manager, I told him that I'd rather him be a good manager. There are far too few good managers. But note, although he remained a great manager, he would not be able to be certified as a professional programmer.
Programming has not only kept me gainfully employed but it has also provided me with some of my most satisfying life-time experiences. But at the same time, programming skills in the United States are dismal. What has caused this dismal state of programming skills in the United States? I can think of at least two reasons. Academia is certainly one problem. Our educational institutions are not teaching the ethics of programming well enough. I also believe that Microsoft, one of the leading vendors of software development tools, is another.
I believe that it's time to organize a programmers' association that can provide certification and other benefits not available to programmers today. For example: a stable retirement fund, not affected by the continuous movement of programmers from one job to another; job protection from any number of ills that plague our profession; career guidance and referrals; legal assistance in the case it was needed; and any number of other services. Of course, there would be a cost but, hopefully, a well-spent cost.
It's time for programmers to organize, if not to obtain services not available today but to raise their profession to a recognized standing.
Why not push back a little and outlaw bad languages that allow software to be easily, yet poorly constructed?
Go after the root issue -- the devs who create bad languages and require them to provide languages in which the dev cannot create bad code.
That's a smaller set to deal with and more likely to happen.
If you've never used StackBlitz[^] you should really try it out.
It's quite an amazing development platform you can run right in your browser.
Especially if you're learning TypeScript, Angular, React and others. Try it out. It's very cool and free.
But, here is a weird thing they are doing. If you sign up for their paid tiers, they'll send your web site to space. They're putting an RPi with server and web sites on a rocket and sending them into orbit. There's a coutdown timer (about 37 days away). Very odd. But I guess with the Tesla in space and all this is the new Marketing: Send it to space! Deploy... to Space! 🚀[^]
Completely random poll, but must be truthful. I'm trying to unwind a large block of magic code across multiple threads, many of them haphazardly borrowing data from each other via globals. I am slowly dying from a thousand cuts.....
<italic>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
Why don't you move the thread to the soapbox so that we can give you some examples???
Anything that is unrelated to elephants is irrelephant Anonymous - The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944 - Never argue with a fool. Onlookers may not be able to tell the difference. Mark Twain
Never, except for one time.
I was working with a product, which shall not be named but it sounds like Crystal Seaports, and I was working with their API which loaded a file and allowed me to set settings runtime.
The files worked with database tables which were in schema's, but the connection string had to be set dynamically for different environments.
So I set the connection string and then some other property and... The file emptied all schema information!
I searched far and wide for a solution until I finally found some example code that should work.
Copy-pasted it and it worked.
After I cleaned up the code [read: adjusted it to my personal taste] I found it was the exact same code as before except... The other property was now set first and then the connection string.
I switched them around and it broke again, switched them back and it worked again.
I wrote a comment about the code, Crystal R... ehhh Seaports, and the unknown developer who worked on the API.
Nothing good was said in that comment.
I remember using the words "drunk" and "drugged" to describe the unknown developer