Maybe Java is for Neurotypicals
Depends on whether we're talking about genuinely qualified programmers (computer scientists, electrical engineers, mathematicians and so on) or so-called self taught programmers.
The primary advantage of Java for managers is that they can find just any idiot to do it. Which they then do. With predictable results.
Now, I have written code in it that looked ok myself, but that tends to be rare.
There are very few radical new ideas in programming approaches paradigms, and same goes for interfaces. I have been think of some theoretical models, but nothing concrete yet.
Although I use OO it is far from the be an end all. I think naturalistic languages, or coding idealism doesn't deliver on what it promises.
Fundamentally programming faces many of the exact same problems it did 30-40 years ago to get to a polished product. No other form of manufacturing is like programming.
If programmers made cots they would be like "This is a beta cot, put your baby in it at you own risk. If something happens let us know by filing a report, with steps to repeat."
Depends on whether we're talking about genuinely qualified programmers (computer scientists, electrical engineers, mathematicians and so on) or so-called self taught programmers.
The primary advantage of Java for managers is that they can find just any idiot to do it. Which they then do. With predictable results.
Now, I have written code in it that looked ok myself, but that tends to be rare.
Any idiot can technically write in any language, but here's why I would never hire a programmer without a degree in engineering or math:
- They know nothing about boolean algebra
- They know nothing about SOLID principles, n-tier architecture and so on
- They know nothing about bitwise operations
- They know nothing about the big(O) notification and optimizations
- They know nothing about algorithms
- They don't know how to efficiently implement abstract data types
- They can't tell the different data structures apart and do not know when and when not to use them
- They know nothing about discrete mathematics
- They write code with lots of copy-paste if statements
- They place all the code in the same file and generally write spaghetti code
- They hardcode sensitive information
- They do not know how to properly test the code
etc...
_________________
“He who controls the spice controls the universe.”
Ichinin
Veteran
Joined: 3 Apr 2009
Gender: Male
Posts: 3,653
Location: A cold place with lots of blondes.
- They do not know (bla-blah-blah-ignorant-rant)
Any idiot can earn a degree. Academics is like people gaining a black belt in martial arts and think that they are omniscient and all that - until someone points out that there are 10+ more Dan degrees to achieve, called EXPERIENCE.
I know all the things you listed - and way more, and i do not have a degree in either of those areas.
I'm also been Windows network tech (NT -> 2008), have done Novell Netware earlier, i've also repaired PCs and Macs, i've been a systems tech managing 3 technicians, i've been a database developer (Classic Relationship and more recent bigdata platforms) and i've also been a DBA, been a web developer (PHP and ASP), i've written game demos and tools for games (enabling multiplayer for singleplayer games) and done extensive modding/scripting for the Elderscrolls games, i've worked with wireless networks and barcode readers, i've written my own specific network protocols and server software to go with that, i'm one of the most educated forensics specialists in my country, i've developed cryptographic software, i've also done pentesting and written my own tools, i've done education and training for IT-Security, Cryptography and programming in multiple languages (C++, VB, Javascript) - and lately i've been developing things for the Oculus rift in Unity5 - and i was coding ASM on the C64 when my classmates were just learning how to play with themselves.
So... enlighten us - what have you done in your career, except for writing your ignorant post on these forums?
_________________
"It is far better to grasp the Universe as it really is than to persist in delusion, however satisfying and reassuring" (Carl Sagan)
I think it might be fair to say at this point that nobody learns assembly on their own anymore. I'm pretty sure this is why the big guys like interview tests as flawed as they might be, they do at least cover a representative sane implementation in the amount of time an interview allows.
There is a lot less apprenticeship in the market these days as well.
_________________
Your neurodiverse (Aspie) score: 142 of 200
Your neurotypical (non-autistic) score: 52 of 200
You are very likely neurodiverse (Aspie)
"If I knew that it was fated for me to be sick, I would even wish for it; for the foot also, if it had intelligence, would volunteer to get muddy." - Chrysippus
goatfish57
Veteran
Joined: 12 Nov 2015
Gender: Male
Posts: 619
Location: In a village in La Mancha whose name I cannot recall
Any idiot cannot earn a black belt. I've previously done Karate Kyokoushinkai. All respected clubs have strict requirements for anyone who want to earn a black belt. Getting a degree is 50 hours of work per week for five years if you want OK grades. Very few veterans will ever reach the title of sensei (3. dan) and even sempai (1. dan) is typically 15+ years of hard work.
Just because you do not know it does not mean that everyone who call themselves a programmer knows it. From a statistical point of view, hiring self-taught programmers is risky. Even when the software looks nice on the surface, it's typically a house built on sand.
If you were coding on a C64 then it took you 20-30 years to learn all that; stuff you'll have to learn in 5 years to get a master's degree in engineering with OK grades. I'm not saying that you do not know your stuff, but most people who do not hold a degree lacks the foundation for "knowing their stuff". Programming is by itself a grunt job; there's a different between programming and programming good code.
Developing multiplayer games (and which protocols to use for this) is something you learn in the second year of a computer science degree. Cryptography is based on open standards, but if you're familiar with it without a degree, credits to you (I've seen plenty of software by amateur developers where the serial number is hardcoded). It doesn't matter how experienced they are; I know people who've made the same mistakes for ten years without knowing it. Unity has loads of tutorials for it everywhere, so that's not a good example.
Hmmm... let's see:
- Made my own WPS system
- Improved both the speed in avalanche effect of blowfish by developing my own Feistel Cipher from scratch (not really a work-relevant thing, as these are developed by large institutions, but still useful knowledge)
- Worked on datasets spanning over several terrabytes and efficient ways to do this
- Modding and scripting in games is generally easy; I've professionally contributed to games with scripting and 3D models myself
- Nothing about forensics
- Server management on various Windows, Linux and BSD versions (samba, Big Brother, etc.)
- Both user space and kernel space programming
- Familiarity with 15 languages (not all of these are useful, but that's besides the point)
- Excellent knowledge of simulation tools and which ones to use before starting a project
- Familiarity with all kinds of algorithms (both useful and obscure ones)
etc...
All in four years.
_________________
“He who controls the spice controls the universe.”
Ichinin
Veteran
Joined: 3 Apr 2009
Gender: Male
Posts: 3,653
Location: A cold place with lots of blondes.
No, idiots can earn black belts. My Sensei told me about a few. And btw, it was an analogy - i called you ignorant, inexperienced and full of yourself.
Same goes for academics with zero experience. They do stupid things all the time which can be solved by more experienced people.
No, most of the things did not exist at the time i got my first computer. I learned as things were invented by being INTERESTED in things. Not because i wanted to screw, drink and pay student loans.
Neither are your examples below.
So you know how to send numbers to banks.
You do know what they say about home grown crypto? I can make an extremely fast feistel network, but its not going to be secure. Speed is second to security. I hope you are not using it, or anyone else for that matter.
Ok, so you downloaded a few torrents.
It is, it's even more interesting when Bethesda takes your ideas and put them in their own games.
To be fair, no comment.
Techs are a dime a dozen. Installing servers from the ground up, securing them, migrating from old to new, patching them without downtime (which was the case for every hotfix back in the day) is something else.
Actually, only impressive thing.
I know lots of languages myself, what's the point? All of the ones i know are useful for different things. Brainfuck may be a "cool" language, but it is pointless to learn. So is Java.
The Sims or FSX isn't a qualification
Cormen, Leiserson and Rivest white book have been occupying my bookcase since i was 20 something *Yawn*
Not really impressive considering that you have been taught everything, which means you have not been acquiring knowledge by yourself, which is a requirement in the IT Industry.
P.S: You do realise know that this is an Autistic forum and you're not talking to some dumb NT morons who hardly can find the power button?
_________________
"It is far better to grasp the Universe as it really is than to persist in delusion, however satisfying and reassuring" (Carl Sagan)
There's a difference between a karate club associated with an official organization and one that isn't. Feel free to check out the Kyokoushin requirements for the different black belts. My old sensei once told me he knew no black belt with a criminal record.
If any idiot could get a degree, any idiot would have one. Out of the people enrolling in computer science, 13% will finish a bachelor's degree in three years; 2% will finish a master's degree in five years. Many self-taught programmers would do no better in programming during the first year than the absolute beginners, due to the fact that their many years of programming consisted of cherry-picking and very patchy skills. The more cocky ones failed because "they already knew programming".
This is why engineering is mostly lab based, not lecture based. Something you'd know if you actually met many people from computer science or electrical engineering. Only math, physics, etc. is predominantly based on lectures (these are still things you would need in programming, of course).
That doesn't mean that you could learn them in a short time frame without any mentor or predefined, organized schedule.
Someone with a master's degree in computer science will on average earn more than a medical doctor. Paying back student loans is no problem, especially given that most people have car loans that are twice the size and house loans that are ten times the size. Moreover, 40% of the loan will get converted into a scholarship, and I can rent a dwelling for half the market price.
WPS = Wi-Fi positioning system. It works like a GPS by meassuring distance between access points. An engineer would know that.
I didn't say it was safe, I just mentioned it because you mentioned writing your own cryptography software (presumably using algorithms designed by a team of mathematicians, engineers and cryptographers). You can make a fast Feistel cipher by simply having an XOR as a Feistel function. The avalanche effect refers to how well the output is scrambled. I also increased the diffusion and the confusion (but that's besides the point). I didn't write it to impress anybody, but to better understand security.
Speed is not unimportant (notice how distributed systems seldomly use scrypt or bcrypt, or encrypt long messages with any RSA derivative); a slow authentication algorithm makes it child's play to use a DDOS attack.
If you were an engineer, you'd be familiar with concepts such as Hadoop, MapReduce, Hive, PAXOS, etc. Never mind the fact that as a student you'll get to use off the shelf Cisco equipment, will be allowed to use Amazon servers for free and so on when learning it.
I only mentioned this because you did. All the stuff you mention here is stuff you learn in four weeks of lab at a university.
Java offers the most job oportunities, especially these days where more and more devices run Android. Smaller companies are frequently using C (which is easier to learn once you know Java). Moreover, it will teach beginners the intuition behind programming, allowing them to move on to other languages later.
Petri-Nets, Markov Chains, Monte Carlo integration, Kendall correlations, etc. is.
Are you talking about Introduction to Algorithms? This is curriculum on the second year of a bachelor's degree, but again you'll learn more from the labs.
I wasn't trying to impress anyone (you're the one who turned this into a pissing contest), just prove a point that hiring a self-taught programmer would be more risky than hiring a qualified programmer. Since I was "taught" everything (some of the teacher's being famous scientists), I managed to learned it three times faster than if I was trying to learn it via Wikipedia, Google and Stack Overflow (which is the case with self taught programmers these days).
I've aquired knowledge about homomorphic encryption and various other things myself, and a prerequisite for graduating with a master's degree in the first place is aquiring your own knowledge in two thesis parts, and various projects.
Yes. I've also encountered autistic programmers who typically know a lot about some parts about programming, while being completely oblivious to others. Moreover, many professors at computer science have disorders such as ADHD, Tourette's and Asperger's.
_________________
“He who controls the spice controls the universe.”