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

The Programming Thread

rousseau

Contributor
Joined
Jun 23, 2010
Messages
13,471
This thread might not get a lot of traction, but slow day at work today so here it is: a thread specifically for the computer programmers on our site.

A bit of history for me:

Spent 2011 - 2014 studying programming at a college in Ontario, and have been out in the wild since then, primarily using Java, and now a lot of Cerner CCL. I've worked for four different companies in total, two of which were done in an internship program.

So.. uh.. what do you do? How long have you been doing it? etc
 
Wrote my first code in the late 70s.

I've made a living at it for about 30 years now. Professionally, Quickbasic, Delphi and C#.
 
I think of myself as a programmer wannabe. I love to write shell scripts.

I've tried to teach myself programming more than once and get stuck. I'm not sure why--I deal with loops and variables and deciding on the proper balance for commenting code. People tell me that it's about the same, just different syntax, but for some reason it's not the same.

I'm trying to get into AWS Lambda Development, and that means learning Python.
 
I think of myself as a programmer wannabe. I love to write shell scripts.

I've tried to teach myself programming more than once and get stuck. I'm not sure why--I deal with loops and variables and deciding on the proper balance for commenting code. People tell me that it's about the same, just different syntax, but for some reason it's not the same.

I'm trying to get into AWS Lambda Development, and that means learning Python.

The hard problem is really that you don't know what you don't know. In other words, before you know programming it's really hard to guide yourself through it because you don't have a sense of what's important, what any of it means, or how it all fits together.

This is why the diploma I took was so helpful. Five semesters of guided learning until the sixth semester, where they simply told us 'build an Android app', 'build an app in ASP.NET'. And by that time, to my surprise, I actually could do those things.
 
Got into web development a few years ago. I program in JavaScript, Python, and PHP.
 
Wrote my first code in the late 70s.

I've made a living at it for about 30 years now. Professionally, Quickbasic, Delphi and C#.

What kind of projects are you a part of these days?

I've spent my entire career in the cabinet industry.

First, writing software for the industry at large--layout only.

Then writing custom software for one cabinet outfit--layout, pricing and manufacturing control.

Now, most custom software. They're using a standard package for the industry that does a decent job on layout and a good job of telling the people what to do. However, it's designed to produce paper reports for craftsmen, it does not do a decent job of the bigger picture. What I'm doing now takes their reports and feeds them to the workers properly (for example, checkoff screens instead of a pen, prints labels if needed etc) and handles the other areas where their system is lacking.
 
The hard problem is really that you don't know what you don't know. In other words, before you know programming it's really hard to guide yourself through it because you don't have a sense of what's important, what any of it means, or how it all fits together.

This is why the diploma I took was so helpful. Five semesters of guided learning until the sixth semester, where they simply told us 'build an Android app', 'build an app in ASP.NET'. And by that time, to my surprise, I actually could do those things.

I disagree on the helpfulness of the diploma. Yes, at first having a guide is a good thing because that first bite is huge. Beyond that, though, I learned little in school. Once you've digested that first huge bite you can jump into new stuff without much. When I decided it was time to jump ship on Delphi I picked up a book on C# and the compiler--then set out to write things. When I hit a roadblock, google time.

(In the old days there was more need of school as there wasn't google.)
 
The hard problem is really that you don't know what you don't know. In other words, before you know programming it's really hard to guide yourself through it because you don't have a sense of what's important, what any of it means, or how it all fits together.

This is why the diploma I took was so helpful. Five semesters of guided learning until the sixth semester, where they simply told us 'build an Android app', 'build an app in ASP.NET'. And by that time, to my surprise, I actually could do those things.

I disagree on the helpfulness of the diploma. Yes, at first having a guide is a good thing because that first bite is huge. Beyond that, though, I learned little in school. Once you've digested that first huge bite you can jump into new stuff without much. When I decided it was time to jump ship on Delphi I picked up a book on C# and the compiler--then set out to write things. When I hit a roadblock, google time.

(In the old days there was more need of school as there wasn't google.)

It's really about getting started.

I'm a pretty smart guy, and when I was trying to self teach before I went to college I was lost, like literally lost. Now, after the diploma, I'm highly employable. But yes the diploma is just a start, afterward it's extremely easy to self-teach and add to one's skillset.

I have to say, though, in the diploma I took what we learned was so intensive as well as extensive, that coming out of school my skill-set was head and shoulders above most comp sci and comp eng graduates. We coded, and we coded a lot. After I finished I could easily jump into any given codebase in any given technology and be pretty much up to speed.

Hard for anyone self-teaching, or coming out of a bootcamp to be able to say that.
 
I dropped out of a graduate program in 2013, then in 2015, did a one year professional Masters in data science, the hot buzzword these days. I've been employed for the last year as a data scientist at a small start-up working in health tech / medical NLP. After I graduated, my buddy offered me a place to stay in San Francisco, and I took it and found work in the Bay Area pretty quick. Although I do some data-sciency stuff, I'm basically a software engineer.

My software engineering chops probably lag behind my programming chops - that is, building large maintainable software projects wasn't what I was trained to do, but I found out that I really really love programming, and it's sort of been trial by fire for the last year.

So, professionally right now it's Python. I have a good grip on Java as well, although, hardly use it nowadays, though some of our core tech is written in it so I find myself reading a lot of Java code. Glad I don't have to work with it all the time though, because coding in Python is a sheer joy, and it's much more of a drudge in Java.

I've dabbled in a lot of things. C, Javascript, Haskell, Scala (currently taking a Coursera sequence on this, it's great, it's free and Martin Odersky teaches it!), a little bit of stuff using front-end technologies i.e. HTML, CSS, d3.js but mostly for creating visualizations. Also R in school, but I find R to be a pain in the ass. Seriously, no built-in hash-map? Three (or is it four?) different class-systems? No thanks, I'd rather use Python/numpy/scipy/pandas

I think I'm starting to drink the functional programming Kool Aide, and I'm hoping to push towards moving some of our tech towarads Scala/Spark, which it will probably eventually have to if we ever have to scale.
 
I've dabbled in GLSL, C++, QT, and 8086 ASM, basically to do some math stuff.

One of the things I was going to work on was voxel based fractal morphing in Fragmentarium. Currently, the majority of the code is based on raytracing until we hit objects- I want to implement multiple resolution levels of voxel transforms, so that we can do "spray gun" type math transforms on the underlying structures. Grow fractal outgrowths and the like.

Ohh, so the voxel type stuff requires massive arrays, and I certainly can't do them on my GPU. Yeah, I could try to implement it on the cpu, but... speed considerations. When I move to a new GPU, I'll feel required to begin the project again (I mean, it will be awesome).

I really should write something small/demoscenish that isn't way to compute intensive for the CPU. It's not like the calculations have to be very deep... (many iterations).

Ohh, so basically I code some fractal stuff. Nothing complicated.
 
I've dabbled in GLSL, C++, QT, and 8086 ASM, basically to do some math stuff.

One of the things I was going to work on was voxel based fractal morphing in Fragmentarium. Currently, the majority of the code is based on raytracing until we hit objects- I want to implement multiple resolution levels of voxel transforms, so that we can do "spray gun" type math transforms on the underlying structures. Grow fractal outgrowths and the like.

Ohh, so the voxel type stuff requires massive arrays, and I certainly can't do them on my GPU. Yeah, I could try to implement it on the cpu, but... speed considerations. When I move to a new GPU, I'll feel required to begin the project again (I mean, it will be awesome).

I really should write something small/demoscenish that isn't way to compute intensive for the CPU. It's not like the calculations have to be very deep... (many iterations).

Ohh, so basically I code some fractal stuff. Nothing complicated.

Sounds like the polar opposite of what I'm doing these days.

I went from building an industrial scale app for 3M Canada, to dealing with a really simple reporting language (Cerner CCL). It was a step backwards in terms of tech, but a step forwards in terms of salary, benefits, and employment status, so meh. I find it so simple that I like to call myself a typist, rather than a programmer, these days.

My employer is aware of this and they occasionally throw curve balls at me to keep things interesting, but mostly it's CCL.
 
I've dabbled in GLSL, C++, QT, and 8086 ASM, basically to do some math stuff.

One of the things I was going to work on was voxel based fractal morphing in Fragmentarium. Currently, the majority of the code is based on raytracing until we hit objects- I want to implement multiple resolution levels of voxel transforms, so that we can do "spray gun" type math transforms on the underlying structures. Grow fractal outgrowths and the like.

Ohh, so the voxel type stuff requires massive arrays, and I certainly can't do them on my GPU. Yeah, I could try to implement it on the cpu, but... speed considerations. When I move to a new GPU, I'll feel required to begin the project again (I mean, it will be awesome).

I really should write something small/demoscenish that isn't way to compute intensive for the CPU. It's not like the calculations have to be very deep... (many iterations).

Ohh, so basically I code some fractal stuff. Nothing complicated.

Sounds like the polar opposite of what I'm doing these days.

I went from building an industrial scale app for 3M Canada, to dealing with a really simple reporting language (Cerner CCL). It was a step backwards in terms of tech, but a step forwards in terms of salary, benefits, and employment status, so meh. I find it so simple that I like to call myself a typist, rather than a programmer, these days.

My employer is aware of this and they occasionally throw curve balls at me to keep things interesting, but mostly it's CCL.

Is that the Cerner that does clinical laboratory software? I've used and instructed others on its use.
 
I've never programmed professionally, it was always in pursuit of some idea I had. I've been thinking of writing a infinite series division algorithm for WxMaxima for a couple of days now, but don't know how much use it would get. Not sure if there is one for mathematica already- should ask beero in the math thread.
 
I've been paid to work in MIIS, MUMPS, C, VB, Matlab, C++, Java, C#, Fortran, and Python.
 
I've dabbled in GLSL, C++, QT, and 8086 ASM, basically to do some math stuff.

One of the things I was going to work on was voxel based fractal morphing in Fragmentarium. Currently, the majority of the code is based on raytracing until we hit objects- I want to implement multiple resolution levels of voxel transforms, so that we can do "spray gun" type math transforms on the underlying structures. Grow fractal outgrowths and the like.

Ohh, so the voxel type stuff requires massive arrays, and I certainly can't do them on my GPU. Yeah, I could try to implement it on the cpu, but... speed considerations. When I move to a new GPU, I'll feel required to begin the project again (I mean, it will be awesome).

I really should write something small/demoscenish that isn't way to compute intensive for the CPU. It's not like the calculations have to be very deep... (many iterations).

Ohh, so basically I code some fractal stuff. Nothing complicated.

Sounds like the polar opposite of what I'm doing these days.

I went from building an industrial scale app for 3M Canada, to dealing with a really simple reporting language (Cerner CCL). It was a step backwards in terms of tech, but a step forwards in terms of salary, benefits, and employment status, so meh. I find it so simple that I like to call myself a typist, rather than a programmer, these days.

My employer is aware of this and they occasionally throw curve balls at me to keep things interesting, but mostly it's CCL.

Is that the Cerner that does clinical laboratory software? I've used and instructed others on its use.

This Cerner, so probably. They're a big player in healthcare IT.

The org I'm in uses them as their main vendor. So far I'm not too impressed, pretty much every efficiency problem I have is due to their software design. Based on the research I've done they tend to hire new grads and give them way too much responsibility, hence bad software pretty much across the board.
 
Is that the Cerner that does clinical laboratory software? I've used and instructed others on its use.

This Cerner, so probably. They're a big player in healthcare IT.

The org I'm in uses them as their main vendor. So far I'm not too impressed, pretty much every efficiency problem I have is due to their software design. Based on the research I've done they tend to hire new grads and give them way too much responsibility, hence bad software pretty much across the board.

Yup, that's the one. According to their site, the lab software was their first product.
 
Learned basic (which apparently is the worst thing to learn programming on) for the Color Computer 2 back in the 80s. Since then, programmed here and there (basic, qbasic, C++, Visual C++, VBA, etc...), mostly for my own enjoyment, school, or work. We use some of the stuff still at work, the VBA in Excel. Taught myself just about everything I know... so I know very little. :D

Qbasic - Used this mostly in college
- made a whack-a-mole game with sprites, my only game of merit, if you'd even call it that
- created a program that'd come up with the design for a gravity dam that'd use the least amount of concrete (2D cross section)
- created a program for the design of spread footings that'd use the least quantity of steel

C++ - My real venture into real programming.
- made a program that could design curves for highway design for school

Visual C++ - Wasted my time with this. :(
- program for unifying soil classification for work

VBA - Learned this because our client had boring logs in Excel that had three text boxes on top of each other and it was a pain in the ass to use. So I taught myself VBA to vastly improve the log. Sadly, we don't work with them any more. :(
- a whole bunch of tools for work, primarily Excel and gINT
- I developed an awesome standardized processing system for putting a CAD sheet together... and then ODOT changed how they wanted it done the following year. I was crushed!

VBA & bastardization of VB and HTML
- boring log software (gINT), my pride and joy built from scratch
- sadly we'll likely be leaving this software as Bentley sucks at improving software, they just buy it and start making people pay annual subscriptions to use it

Python
- dabbled a little to develop a script that would automatically take jpegs and split them up, but gave up.
 
I first learned programming in the '80s, and taught myself BASIC in Junior High. I wrote a program to roll up D&D characters for me, and a few very basic games like hangman. I was working on an ambitious text parsing game in the vein of Zork, when I started High School and discovered girls, parties, and parties with actual girls showing up at them. I forgot about programming pretty quickly. After graduating HS, then joining and leaving the military, and getting married, I rediscovered my love for computers, and went to college to learn programming.

I got an AS in Programming and Analysis in 1993, as well as A+ and Network+ certifications, which lead to doing computer repair and network setup for the next 10 years. I initially made enough money to open my own repair shop in 1998, but closed that down in 2002 as I was losing money and had to take a tech support job to make ends meet. So, I did tech support for a few years, before I got a job doing PHP development in 2005. I left that job a year later for a tech support job that paid a bit better than the PHP job, and was closer to home. That led to a Software QA job with the same firm less than a year later, and I started writing Perl scripts for QA automation. From there, I continued building my resume and honing my software automation skills.

In 2012, I was fortunate enough to be on a great software development team that was willing to help me become a Java Developer. I am currently a full stack Java developer, working with Java (of course), JavaScript, Bootstrap, AngularJS, ReactJS, and React Native. Given my background in automation, I tend to get shuffled around between teams at my current employer, landing for a few months wherever they are failing to get the project properly automated. It tends to keep things fresh, as I always make sure I am also learning whatever knew tech the team is working on before moving on.
 
I am not a paid programmer but I successfully forgot FORTRAN. Use C++ for my home projects and a lost of shell sctipts.
In the past I had to do python a little.
I really don't understand this proliferation of languages.
 
Back
Top Bottom