While I’ve had the pleasure of working with assembler and some linear coding at college during my Computer Science and electronics courses (and once to fix a driver or something, can’t recall), the programming at my job mostly involves getting some C# to work with our database back end to circumvent the commercial software we use in house and its idiosyncrasies and limitations. Put simply, the canned reports give wrong numbers.
It’s all quick and dirty stuff to get the right numbers on the report to the executive by the appointed time. Optimization in my case is of little concern unless its horribly broken and in every case, my code runs faster than the canned app. It’s not as pretty, but it exports the same accurate report to excel for the bean counters so that’s all that matters. I hand off my code to the actual report analyst and they make it presentable.
Reports off the database aren’t glamorous but they pay the bills. I do all around “Scotty” type stuff related to IT when I’m not actually coding and most of it ties to the database system we use and how it doesn’t like making friends with anyone.
Most of my “hobbyist” hours are developing rules and content for a tabletop game so I don’t normally code for fun. Part of it is that I don’t have the infinite money cheat so I can’t do what I really want which basically amounts to a superhero fight/flight simulator. Some of the same rules and practices apply at the table, however. I’ll likely start doing some hobbyist projects once we wind down the tabletop game for a while but at the moment I don’t have time to do much of anything on my own.
For the record OOP does drive me nuts sometimes although I get why it exists. Usually, my thought is upon coming across a new container and its rules “you want me to put what, where?” Mostly I try to break the procedure down to its simplest logic gates/flow and go from there as that’s how I was taught.
It’s probably just in time stuff that gets translated when needed as it gets dropped down to binary for the chip to run. I doubt that processors ship with a python engine built in but I could be wrong as I don’t read up on every little thing.
python counts as interpreted language producing bytecode for a vm, which counts as compiled as if it was for a cpu. i’ve stopped some time last year being annoyed about the change of definition…
There are python VMs using JIT, like pypy, Jython uses the JVM, IronPython uses Mono/.NET, etc. CPython, the reference implementation, uses what’s misleadingly being called “threaded dispatch”, which is a glorified jumptable made by the compiler. the VM runs through the bytecode and based on that it jumps to the code relevant for interpretation. much faster than a switchtable, though i feel like it only does it right in linux, where python appears to be faster, relatively speaking.
it’s slow, but so incredibly useful! i am currently switching to an actually compiled language abusing python for ease of access to its libraries. before that i ran assembly code in python directly, using fasm at runtime, as compiler for the assembly code.
As someone who used to count cycles, loves spinlocks, knows how to use pipeline parallelism and the different levels of cache, you make me cringe when you tell me that you program for the compiler, and not the computer. it’s a seriously common way of thinking, which is spread so far and wide, that it can’t be a good idea and in my experience it really isn’t. same with OOP. not saying it’s wrong, no. i’m saying it’s pretty much omnipresent, causing people to dismiss ways of thinking that are better applicable.
that’s why i asked about your age. for most time, i assumed it’s a generational thing, but it seems to be more of an indoctrinational. (is that a word?). thanks for sharing all the info!
Its how people are tutored. I have seen that old guys dont really teach now, I had young guys teach me programming, only slightly older than me. Probably old programmers have too much work with making software for NASA’s old satelites, as nearly everyone moved on to new languages and machines, not looking back much.
Me trying to program would be like a monkey trying to build a spaceship. But even i can see there are too many people in this thread who don’t have a clue what they are ralking about.
Haven’t you ever had a conversation with a stranger and immediately identified him as a blow hard know it all bulls***er? Havent you ever heard a line and just knew it was bs? Even when they, themselves believe their own lines? It’s like that.
I dont know much, having known what I really lack. I only think that I can still use my c64 to play Elite and even write a program in Basic and it will run as good as when it was brand new.
Looks like the internet elitists have also finally arrived to contribute to the conversation and express their superior reality.
I learned more about python and coding stuff here than I did my entire life, not I understand 100% of it.
But hey the internet has a over a billion places, settle yourself where you feel most at home
No problem. I suffer from the fate of having very few friends in real life who like computers on a technical level and how they work so sometimes my way of explaining things is probably backwards or inaccurate as I have no one to talk to about them with.
I have some motivation to learn Python over the winter as that appears to be what Blender uses for scripting events and plugins. The info on that is insightful so I’ll take a look at it to see if it does what I need it to for a project later.
Sorry if I made you cringe. What I wind up actually doing with my degree is more like a badly written detective or horror novel than any sort of orderly and/or novel programming practice. You learn quickly that even the “pros” who make you pay big money for these accounting packages don’t always have the best housekeeping, especially if COBOL was involved at any point. The work gets done, but I’m not proud of the dirt and grease up to my elbows.
No kidding. Not even badly written, just making sure the optimizer isn’t working right is more than enough to do the trick.
I get to play with both ends of the danger noodle and let’s just say that the average business critter is absolutely amazed if you can do a basic pivot and get it to display on a page.
Earlier in my life I’d gone out of my way to avoid being sucked into anything remotely like IT for a job, but it seems if you have the least bit of aptitude, the average business critters (and, it seems, the average academic critters) will be asking for miracles.
As to the original topic, I wonder if the calculations for the n objects in space scales as n squared, or have CCP used some optimisation to bring it to something like n.log(n)