• Welcome to the new Internet Infidels Discussion Board, formerly Talk Freethought.

The Programming Thread

rousseau

Contributor
Joined
Jun 23, 2010
Messages
12,663
Basic Beliefs
Eastern / Pantheist
Anyone ever experience productivity remorse?

I'm a pretty good programmer, probably what one would call a mythical 10x programmer. And yet I really don't like praise. When I wildly beat people's expectations I wish they'd just leave me alone about it.

Collect pay cheque, go home and put headphones back on.
 

rousseau

Contributor
Joined
Jun 23, 2010
Messages
12,663
Basic Beliefs
Eastern / Pantheist
Anyone ever experience productivity remorse?

I'm self-employed, so my profits are proportional to my productivity. Getting paid is much more satisfying than getting praise.

For me it results in job security. Good programmers are hard to find where I live, so when you find one you hold on to them.

Praise does act like a kind of currency, but my lead/manager are well aware of what my skill-set is without exclamation point laden e-mails.
 

steve_bank

Diabetic retinopathy and poor eyesight. Typos ...
Joined
Nov 10, 2017
Messages
11,620
Location
seattle
Basic Beliefs
secular-skeptic
First there was spaghetti code, then there was structured programming, then came object oriented programming to eal with large scale multi programmer systems.Any C++ OOP people? Is there a coding school of thoutht you use or do you just have itt it?

Productivity remorse? That is a new one. I always took away a good feeling being productive. I learned early on that productivity paid higher, but more important was the more productive and independent you were the more freedom you had.

Develop a reputaion for delivering quality work and the less you are interfered with. And more work comes your way. People will want to work with you.
 

rousseau

Contributor
Joined
Jun 23, 2010
Messages
12,663
Basic Beliefs
Eastern / Pantheist
First there was spaghetti code, then there was structured programming, then came object oriented programming to eal with large scale multi programmer systems.Any C++ OOP people? Is there a coding school of thoutht you use or do you just have itt it?

The business problem dictates the technical solution, the technical solution dictates the coding pattern and style. In terms of actually coding it's just hundreds of micro-skills painfully acquired over the course of 7 years of programming.

I've also done OOP in C++ but never anything of industrial scale.
 

steve_bank

Diabetic retinopathy and poor eyesight. Typos ...
Joined
Nov 10, 2017
Messages
11,620
Location
seattle
Basic Beliefs
secular-skeptic
First there was spaghetti code, then there was structured programming, then came object oriented programming to eal with large scale multi programmer systems.Any C++ OOP people? Is there a coding school of thoutht you use or do you just have itt it?

The business problem dictates the technical solution, the technical solution dictates the coding pattern and style. In terms of actually coding it's just hundreds of micro-skills painfully acquired over the course of 7 years of programming.

I've also done OOP in C++ but never anything of industrial scale.

Back in the 60s my biggest project was around 15,00 lines of C++ not inflated by Windows functions. It evolved over 9 months. Without OOP it would have been impossible.

As software grew in thwe early 80s code size grew with increasing PC memory. Systems became unmaintainable and bugs impossible to trace.

Structured programming was trhe first evolution but also had limitaions, especially with programming teams and unforeseen side effects. Unpredicted interaction between code sections written by different people.

In ANSI C misuse of pointers could clobber memeory crashing the system, a common occurence in early DOS. You would have to reformat the HD and reload the OS.

C++ allows the protection of data and code. Public functions and data are available as an interface into an object. Private functions and data are invisible to other software. It minimizes side effects when integrating code written by different people. Objects have a well defined and tested interface that others can use.

I wrote an object, wrote code to test it, then compiled it into a library to be used in higher level structures.

If you are wring basic apps interpreters like Pearl are fine.
 

rousseau

Contributor
Joined
Jun 23, 2010
Messages
12,663
Basic Beliefs
Eastern / Pantheist
First there was spaghetti code, then there was structured programming, then came object oriented programming to eal with large scale multi programmer systems.Any C++ OOP people? Is there a coding school of thoutht you use or do you just have itt it?

The business problem dictates the technical solution, the technical solution dictates the coding pattern and style. In terms of actually coding it's just hundreds of micro-skills painfully acquired over the course of 7 years of programming.

I've also done OOP in C++ but never anything of industrial scale.

Back in the 60s my biggest project was around 15,00 lines of C++ not inflated by Windows functions. It evolved over 9 months. Without OOP it would have been impossible.

As software grew in thwe early 80s code size grew with increasing PC memory. Systems became unmaintainable and bugs impossible to trace.

Structured programming was trhe first evolution but also had limitaions, especially with programming teams and unforeseen side effects. Unpredicted interaction between code sections written by different people.

In ANSI C misuse of pointers could clobber memeory crashing the system, a common occurence in early DOS. You would have to reformat the HD and reload the OS.

C++ allows the protection of data and code. Public functions and data are available as an interface into an object. Private functions and data are invisible to other software. It minimizes side effects when integrating code written by different people. Objects have a well defined and tested interface that others can use.

I wrote an object, wrote code to test it, then compiled it into a library to be used in higher level structures.

If you are wring basic apps interpreters like Pearl are fine.

The apps I've written in C++ were in college just to learn various programming concepts. We used classes and other features of OOP but any of these apps could have been written without them. Now if we're talking an actual measurable impact of OOP I've done quite a bit of Java on a larger scale.

I'm likely the most skilled object-oriented programmer on my team at work right now, mostly owing to being fresh out of school and the brunt of the work we do being in a procedural language. So many people on my team have out-dated skills.
 

Jayjay

Contributor
Joined
Apr 8, 2002
Messages
6,675
Location
Finland
Basic Beliefs
An accurate worldview or philosophy
First there was spaghetti code, then there was structured programming, then came object oriented programming to eal with large scale multi programmer systems.Any C++ OOP people? Is there a coding school of thoutht you use or do you just have itt it?

The business problem dictates the technical solution, the technical solution dictates the coding pattern and style. In terms of actually coding it's just hundreds of micro-skills painfully acquired over the course of 7 years of programming.

I've also done OOP in C++ but never anything of industrial scale.

Back in the 60s my biggest project was around 15,00 lines of C++ not inflated by Windows functions. It evolved over 9 months. Without OOP it would have been impossible.
Did you mean the 90s?
 

steve_bank

Diabetic retinopathy and poor eyesight. Typos ...
Joined
Nov 10, 2017
Messages
11,620
Location
seattle
Basic Beliefs
secular-skeptic
Back in the 60s my biggest project was around 15,00 lines of C++ not inflated by Windows functions.

That's a neat trick since C++ was invented in 1979. Even C was only invented in 1972. Windows didn't come along until 1985. Is the decade wrong?

Typo.

On PCs I went from Borland C to Turbo C and Borland C++ in the 80s. The MS Foundation tools were buggy and complicated. Before PDF the books took up a small bookcase. Borland extensions simplified development and was cheaper than MS..At my first job software development was on a VAX for Motorola processors. When somebody was compiling you'd hit CR on your task and had a cup of coffee waiting.

I inherited a test system in the 90s based on a Sun workstation, used C and Sun Solaris a Unix clone. At Intel in the 80s we had intel MultibusII computers in offices running Xenix, another Unix..I can auger down. In the early 80s I worked with the Motorola 8 bit processors so much I could write programs directly in hexadecimal. 8088, 8086, 68k, 8051,Z8. At Intel I was a system reliability engineer, I worked on their first 386 board project, Multibus mow long gone.

Ny last major design project about about 7 years ago was a processor board based on a Cypress FPGA configured as a Power PC with embedded Linux.

Thanks for the stroll down memory lane.
 

rousseau

Contributor
Joined
Jun 23, 2010
Messages
12,663
Basic Beliefs
Eastern / Pantheist
Ugh.

Making a change to a script that takes a couple hours to run to completion.

I could take out my component and unit test it but I'm too lazy so am going to just keep running it and waiting to see the results.
 

Loren Pechtel

Super Moderator
Staff member
Joined
Sep 16, 2000
Messages
38,280
Location
Nevada
Gender
Yes
Basic Beliefs
Atheist
Ugh.

Making a change to a script that takes a couple hours to run to completion.

I could take out my component and unit test it but I'm too lazy so am going to just keep running it and waiting to see the results.

If the script takes a couple of hours I very much doubt a unit test can test it. And if you went the unit test route you're assuming the unit test is more reliable than the code you're actually testing.

In my experience most non-trivial bugs are because nobody thought of the scenario--and thus wouldn't be caught by unit or integration testing.

I consider unit and integration tests to be good checks if you're modifying code but they're nothing like the silver bullet they're presented as.
 

rousseau

Contributor
Joined
Jun 23, 2010
Messages
12,663
Basic Beliefs
Eastern / Pantheist
Ugh.

Making a change to a script that takes a couple hours to run to completion.

I could take out my component and unit test it but I'm too lazy so am going to just keep running it and waiting to see the results.

If the script takes a couple of hours I very much doubt a unit test can test it. And if you went the unit test route you're assuming the unit test is more reliable than the code you're actually testing.

In my experience most non-trivial bugs are because nobody thought of the scenario--and thus wouldn't be caught by unit or integration testing.

I consider unit and integration tests to be good checks if you're modifying code but they're nothing like the silver bullet they're presented as.

My unit test would be testing a routine I added to the script that has well defined inputs/outputs. In the end I'd need to run the full script a few times to confirm, but if I isolated my component/routine I could ensure it was working properly a lot more quickly than by running the whole thing.

But the piece of work I'm trying to complete isn't urgent so I'm just going the lazy way.
 

DrZoidberg

Contributor
Joined
Nov 29, 2007
Messages
10,548
Location
Copenhagen
Basic Beliefs
Atheist
Since 1999. But I've only been a manager since 2011. Now I only programme for fun. I've worked with a wide range of things. Mostly Java. But VB, C++, Python.... meh... it's a list. And barely remember how to do most of them.

The last years I've gotten into automatic testing, just as a way of making my managment life easier. Now want to find something newer and fancier to replace Selenium with
 

James Chapman

New member
Joined
Jun 9, 2015
Messages
20
Location
Southern California
Basic Beliefs
Atheist, secular humanist
I'm over it, I think. I retired in 2012 after some 35 years in the software biz. Since then, I played around for a while with simple robotics experiments using Raspberry Pi and Arduino kits, but now I may be over that, too.

The first code I wrote was around 1976, using assembly notation that I hand-translated to hexadecimal and keyed in byte by byte. As a hobby project, I wrote my first OS (it was all of 35 bytes!) and a serial TTY driver for an RCA 1802 CPU on a naked board with 512 bytes of memory. My first programming jobs had me working mostly in assembly-level code for NCR and Datapoint computers. When opportunities to work in higher-level languages came my way, I was happy to move on. I was not too proud to code business apps in COBOL for a few years to pay the rent. But my true love was always systems software, particularly real-time, multi-tasking systems.

In the early 1980's I started working for a software company that specialized in programmable database management systems that ran on IBM mainframe computers. My job was to pore over core dump printouts that customers sent in when our software crashed, then diagnose the cause and write patches for the code. Yes, I could practically sight-read a hex dump, a bizarre skill that was simply one of many that I acquired and then happily lost as I made my way through a series of roles in a rapidly changing technology.

At one point in the late 1980's, I managed to parlay my acquired background in database technology into a job at one of the pioneering companies in the field of massively parallel database machines. I stayed with that company nearly 25 years, until I retired. That was a great job, with all kinds of interesting challenges. I even got my name on a few crap software patents. In the end, my job became more about jawboning and writing project documents than programming. A more ambitious (or at least more avaricious) person would have gone into management by then, but I had neither the temperament nor interest in that path.
 

rousseau

Contributor
Joined
Jun 23, 2010
Messages
12,663
Basic Beliefs
Eastern / Pantheist
Got contacted by a recruiter from Apple today.

Granted that's a far cry from having a job at Apple, and there's no chance in hell I'd move to California, but whenever I get mail like this it makes me think. Currently I'm fairly over-qualified for the job I'm in, and the work is really not that interesting, but I know I'm talented and there's a part of me that enjoys contributing that to an organization who really needs it, rather than a multi-billion dollar juggernaut.

One way or another we're settled where we are.. but man I'd love to get my hands on the code in a company like Apple.
 

DrZoidberg

Contributor
Joined
Nov 29, 2007
Messages
10,548
Location
Copenhagen
Basic Beliefs
Atheist
Got contacted by a recruiter from Apple today.

Granted that's a far cry from having a job at Apple, and there's no chance in hell I'd move to California, but whenever I get mail like this it makes me think. Currently I'm fairly over-qualified for the job I'm in, and the work is really not that interesting, but I know I'm talented and there's a part of me that enjoys contributing that to an organization who really needs it, rather than a multi-billion dollar juggernaut.

One way or another we're settled where we are.. but man I'd love to get my hands on the code in a company like Apple.

Having a job you're over-qualified for is spiritual death. We either grow or die.
 

rousseau

Contributor
Joined
Jun 23, 2010
Messages
12,663
Basic Beliefs
Eastern / Pantheist
Got contacted by a recruiter from Apple today.

Granted that's a far cry from having a job at Apple, and there's no chance in hell I'd move to California, but whenever I get mail like this it makes me think. Currently I'm fairly over-qualified for the job I'm in, and the work is really not that interesting, but I know I'm talented and there's a part of me that enjoys contributing that to an organization who really needs it, rather than a multi-billion dollar juggernaut.

One way or another we're settled where we are.. but man I'd love to get my hands on the code in a company like Apple.

Having a job you're over-qualified for is spiritual death. We either grow or die.

It's a bit of a tricky situation as I'm currently on one of the strongest defined benefit pension plans in Canada, maybe the world, and the IT market in my city isn't great. No matter where I go the work is kind of shit. The logical alternative would be remote work, but that comes with it's problems too, namely social isolation which I *really* don't want.

Current role is also relatively stress-free and the culture is rock-solid, so from my vantage point it appears like the best of a set of bad options. But mostly it's the pension keeping me where I am, which if all goes to plan could make us pretty wealthy in retirement, and support my wife in a no hassle, simple way for the rest of her life.
 

DrZoidberg

Contributor
Joined
Nov 29, 2007
Messages
10,548
Location
Copenhagen
Basic Beliefs
Atheist
Got contacted by a recruiter from Apple today.

Granted that's a far cry from having a job at Apple, and there's no chance in hell I'd move to California, but whenever I get mail like this it makes me think. Currently I'm fairly over-qualified for the job I'm in, and the work is really not that interesting, but I know I'm talented and there's a part of me that enjoys contributing that to an organization who really needs it, rather than a multi-billion dollar juggernaut.

One way or another we're settled where we are.. but man I'd love to get my hands on the code in a company like Apple.

Having a job you're over-qualified for is spiritual death. We either grow or die.

It's a bit of a tricky situation as I'm currently on one of the strongest defined benefit pension plans in Canada, maybe the world, and the IT market in my city isn't great. No matter where I go the work is kind of shit. The logical alternative would be remote work, but that comes with it's problems too, namely social isolation which I *really* don't want.

Current role is also relatively stress-free and the culture is rock-solid, so from my vantage point it appears like the best of a set of bad options. But mostly it's the pension keeping me where I am, which if all goes to plan could make us pretty wealthy in retirement, and support my wife in a no hassle, simple way for the rest of her life.

You can fuck around with tax codes. I now live and work in Copenhagen. But officially live in Stockholm. For similar reasons as you. There's no shame in gaming the system
 
Top Bottom