• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

My General Guidelines for Programmers

 
Sheriff
Posts: 17644
300
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Inspired by an early morning reply to a confused greenhorn, I wrote this today: General Guidelines for Programmer Safety and Well-Being

I'm kind of iffy on the title but that's what I have for now. Let me know if you can think of something else to call it.

Thanks,
Junilu
 
Marshal
Posts: 28193
95
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Actually I liked what you called it at the bottom in your comment: Things Every Programmer Should Have Learned in Kindergarten.

One thing that I've noticed a lot, which you didn't mention there, is this: For us professional programmers it's obvious that code is there to do something useful, like getting the payroll done or encrypting some communications or whatever. But for the beginning students it seems to be that the main purpose of the code is to get it over with so they can pass the course. One can understand this attitude, of course, but on the other hand it seems like the students haven't been introduced to that concept by their instructors.
 
Junilu Lacar
Sheriff
Posts: 17644
300
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for reading the post, Paul. Yeah, I was waffling with the Kindergarten thing after I'd written and rewritten a few times. I started out mentioning things we learn in kindergarten but the analogy went away and got replaced by the teenage driver and road rules thing.

Yeah, I know it's probably too much to ask of the average student to start thinking deeply about some of those things. My son is taking a Java programming course at Ohio State this semester and he has pretty much the same kind of blase attitude about writing code. I could be totally wrong about all that stuff I wrote. Maybe I'm still just a young idealist at heart. But then again, I know there are young programmers out there who are already thinking about elegance and craftsmanship. For as long as I can remember, back to when I was learning Pascal as one of my first two languages, I already understood the concept of elegance in code. I don't know, maybe I'm just weird that way.

Thanks again for reading the post.
 
Bartender
Posts: 1810
28
jQuery Netbeans IDE Eclipse IDE Firefox Browser MySQL Database Chrome Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Great article. If I were to add anything, I think it would be something about setting realistic expectations. Norvigs article on ten years is a great example. I myself became very frustrated with the slow pace of learning and I've seen others express the same concern. It took a long time before I realized that it's just the nature of the craft. It's difficult, and it takes a long time to learn. There are no shortcuts.

Now that I've been doing it professionally for almost ten years, I think I'm finally starting to figure out what I'm doing. Maybe in another ten I can dare to call myself an expert, but that's still a long way down the road. But I've accepted that and learned to enjoy the journey rather than focus on the destination.
 
Marshal
Posts: 8857
637
Mac OS X VI Editor BSD Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you Junilu, I read it twice, great article. That is inspirational.

I really good remember when I saw one of your post for the very first time, that was 1.5 years ago or so, I thought, heck, such stuff should be as a mandatory module on its own right in every single programming course AND that would increase amount of higher quality code globally. If not, luckily if student ever gets a chance to pick up one of the good books such as "Clean Code" on early days after graduation ceremony, so he could get a breadcrumb to the ideology you wrote.

Thank you, cows.
 
Rancher
Posts: 383
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Excellent article Junilu! Very well worded! I really liked the analogies you used to explain, or expand, on the various topics in your article. Practically nothing better than an analogy to help relate something to real life situations, particularly as it applies to programming fundamentals. So again, excellent work, many thanks for taking the time (and showing enough concern) to feel you needed to write this article. Cheers!

Regards,

Randy Maddocks
 
Marshal
Posts: 79177
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Anuj Jajoo's Video about Hexadecimall Numbers now here.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic