Advertisement

Most difficult programming feat...

Started by September 29, 2000 07:01 AM
41 comments, last by ragonastick 24 years, 3 months ago
What would you say is the ultimate test of programming? Something that some people can do, but not all, something that only a few can explain in English, something that takes brains to be able to comprehend and basically something special? I put it to you, that the ultimate is not in making killer 3d graphics, or an ultra realistic combat engine, but in making Artificial Intelligence which is actually intelligent. Think about it, physics engines: You already have the laws of physics set out in front of you. Graphics engines? You already have you own eyes to show you what to put on the screen. But with AI, all you have is psychology textbooks (and they are a great read I find) and your own and other peoples minds to explore. Am I overlooking something? Am I a total fool (yes, but that''s not the question) What do you think? Trying is the first step towards failure.
Trying is the first step towards failure.
The most challenging problem: Solving the Travelling Salesman problem in Polynomial Time, or proving it cannot be done.

Then again, that''s a very typical Computer Science problem, and nowhere near as fuzzy as the AI challenge, though again, nobody knows for sure if it can be done!



People might not remember what you said, or what you did, but they will always remember how you made them feel.
~ (V)^|) |<é!t|-| ~
It's only funny 'till someone gets hurt.And then it's just hilarious.Unless it's you.
Advertisement
The ultimate test of programming is programming something you don''t know about, and getting it to work, even if it is just declaring a variable

Lee
This is more of a coding challenge than a programming one, but this is something I thought of a long time ago --

Not sure how PC machine code works, but on an IBM mainframe, instructions can be 2, 4 or 6 bytes long. So anyway, the challenge is - construct a program so that in its machine language representation, if you start executing at an offset of 2 bytes from the start of the original program, you execute an entirely different but also valid program.

I actually thought about writing a book wherein somebody would use this technique to create the ultimate virus.

"It's obvious isn't it Miller? Curiosity killed these cats!"
"It's obvious isn't it Miller? Curiosity killed these cats!"
AI isn''t really a test of programming, it''s more of a test of logic and math skills. If you''re talking about neural networks, it''s all a matter of determining thresholds and when to fire which synapse.

I kind of agree with the previous post that simply claims that doing something new to you is the ultimate test.
limitations of dated technology plays a big factor in programming skills. Code the human brain on a 486. code the milky way.
cmaker- I do not make clones.
Advertisement
The most difficult test of programming (for me) is keeping a large program stable, and keeping all parts of it tested as it grows.

Synchronization issues between multiple threads is also a bear--once there''s a problem, it''s very difficult to find a solution.
Anything in COBOL.

I don''t think learning something new is the ultimate test of programming. Anyone can be taught. There are only a few ways to declare a variable, for instance, and they are all concrete. These can be taught very easily.

What I think is the ultimate test, is the "non-concrete" parts of programming. For instance, program design. PROPER program design can''t really be taught. There is no concrete way to do it. You can''t say "This is what classes you will have, and this is how they should interact with each other".

Here''s a quote from Chris Hargrove on what he calls the 5th stage in the developement of a programmer, which explains what I''m talking about:

"Stage 5 - Holistic. Programmers at this stage attempt to see projects from all angles, before and during construction. Software engineering decisions become disciplined, and a project''s implementation becomes a mere manifestation of its design, not the controlling force. Construction details and related problems are increasingly seen before they happen, with the programmer capable of focusing on multiple levels of a design simultaneously."

This is where programming truly becomes an art, and it is something that just cannot be taught. IMO, most programmers will never reach this level.
- Houdini
The ultimate tes of programming skill is to make a real-time 3D (or even pseudo 3D with raycasting or other geometric tricks) in the most lowly (speed wise) of languages, QuickBasic. No ASM allowed. And yes, my friends, I tried to accomplish this feat. The best I''ve done is to get somewhat of a perspective corrected tile engine that projects and renders trapezoids to create a perspective-cued scene with smooth pixel scrolling and simple 2D sprites, and even that runs at 20fps on a 133MHz. Agh!

This topic is closed to new replies.

Advertisement