As a novice programmer, I am very happy that I can pick up python and do stuff on a Pi fairly easily, rather than learning assembly or C. That’s like saying every mechanic should only have 1 mega tool in his tool shed that can handle everything. Or that we needn’t learn calculus until we understand everything about geometry(which I’d argue is somewhat of an infinitely large field due to the nature of numbers).
A language is the tool of a programmer and you should pick the best one for the job. The bugs that get created from code will always be there regardless of language, or how long it’s used. Something that’s stable for 40 iterations can always break with the 41st.
Let the evolution of programming languages and all tech continue, and I would say thank you to any and all these languages because they gave us the awesome that is the internet.
Okay, I’ll amend the ‘language’ comment. I don’t care about the syntax that you use to encode your logic. What I care about is that the underlying representation is the same for all syntaxes. That means that if I write code in COBOL, you can see it in Python, and vice versa. It is analogous to the spoken word, where the underlying representation is of the spoken meaning. Given that, I can read any book in my preferred tongue, regardless of how it was authored because somewhere the underlying meaning was recorded.
MSIL is the sort of thing I’m talking about, where programs can be written in a number of languages (syntaxes), expressed in MSIL, and then the MSIL can be converted back into a number of languages (syntaxes). So if you write code in Python, that can be represented in MSIL, I can look at your code in C#, edit it, then convert it back to MSIL. You can pick it up again and see my changes in Python. MSIL isn’t ideal, but it’s a step in the right direction.
Now imagine a system where the conversions between syntaxes and MSIL are done on the fly. As you author your Python, you’re authoring MSIL. Python becomes a UI convenience for you.
I’m sorry, but you’re completely off the mark here. I spent my time in Microsoft Research on a team which was addressing this very issue. We were after software componentization, and you can’t have unreliable components, so a big part of what we did was verification. If you want to learn more, read Clemens Szyperski’s book Component Software: Beyond Object-Oriented Programming. Clemens was on the research team. Nicest guy in the world.
I misunderstood what you said originally, because that is an ideal case and sounds like a great idea! I wasn’t aware that something like MSIL existed.
I was only speaking off of my own experiences, both personal and from what I hear from other programmers. A lot of this can stem from being an inexperienced programmer or just general oversight. From what I just read about software components, my understanding is that it is the concept of separating different modules within your program that do different tasks - rather than writing 1 all encompassing program that tries to handle everything. The way I see it is almost like a failsafe, if one module fails, the others can still run independently, rather than a crash bringing the entire program down with it. Even with this sort of modularity, I still see the potential of a new module that has been added to the system sending an older module information it doesn’t know how to handle and failing. In my head, this still falls under the original example I used. Am I mistaken?
Yeah, and I can’t imagine anything that I could write here that could guide you towards an understanding of what I’m talking about. There are simply too many conceptual jumps from writing Python code to understanding component development. So I could explain it, but it would end up being a course in software engineering.
Suffice it to say that we’re writing a lot of unnecessary code, creating bugs right and left, but making a lot of money writing it and fixing it. Which is why it’s done this way; there’s lots of money to be made in buggy code.
I will take your word for it. I know the feeling of needing to describe an entire course to get a concept across. I will ask my software engineer roommate to begin the lessons and see where that takes me.
I just re-fired up my Xbox (the original xbox) and played through Halo:CE and Halo 2. I’m also reading through all the halo novels I can get my hands on, while listening to the osts.
I don’t have an xbox 360 or xbox one, but I’m seriously thinking of getting the MCC bundle when I can spare the extra cash.
I stole my father’s chunky VHS camcorder as a kid, and taped it down on top of my 1/8th nitro (?) RC… I’d been dreaming of that (not goggles but real time on a CRT) for a few years (which felt like an eternity at that age)… It did not end well, although I did recover the tape from the wreck. So I was left with just dreaming of what would only happen 20+ years later, today.
I’m anxious to see FPV dogfighting competitions. That’ll be really fun too, esp. if there’s a way to have the onboard cam slaved to pilot’s head pitch/yaw.
Awesome. Now we just need to add lasers or BB guns or something. The world championship can use bigger scale fighter replicas (I bet Luft46ers would love to finally see their weird machines finally realized) and actual machine guns over some worthless desert for maximum petrolhead carnage…