watch your language! - what my mother taught me about being an engineer

37
Pickup those Legos and Watch your Language! What my Mother Taught Me about Being an Engineer – Neal A Richardson Sr @NealSr slideshare.net/NealSr

Upload: neal-richardson-sr

Post on 10-May-2015

53 views

Category:

Software


3 download

DESCRIPTION

Software Engineers use programming languages to build something awesome. When I was a kid I did the same thing with Legos. In a way Lego builds and Software builds can be very similar. They have to be well designed, kept clean, and maintained in order to stay functional over the years. Although the original 8-stud Lego brick is still fully compatible with the latest NXT 3.0 robotics kit over 50 years later, the languages we program in today are not the same languages our parents, supervisors, or teachers used coming out of college. If the language you have been programming in was deprecated overnight, what would happen? This presentation will cover what I have learned about languages over 30 years, and specifically the changes I have seen in programming languages at home, school, and work. Starting from copying a game out of 3-2-1-Contact Magazine in BASIC in 1991 to hacking Quake 3 in C++ in the computer labs at Missouri State, to replacing a COBOL project two years ago that was written before I was born on punch-cards, to co-writing a Chef cookbook at 3am via Lync while drinking Monster Energy. Find out why some languages behave the way they do. Learn why business don't just pack up their expensive IDEs and go open source overnight. See some esoteric languages that will make CCL look like Python! And hopefully leave with a better appreciation of what your tools are doing for you now that just weren't available when this industry started over 50 years ago.

TRANSCRIPT

  • 1.Pickup those Legos and Watch your Language! What my Mother Taught Me about Being an Engineer Neal A Richardson Sr @NealSr slideshare.net/NealSr

2. ASM INSTRUCTIONS: import: personal history define: language, programming execute: my journey from BASIC to OpsCode Chef and back to COBOL return: how it applies to engineering, healthcare, and life 3. IMPORT: PERSONAL HISTORY Neal A Richardson Sr. Melissa Andrew Jr. Calvin Mason Hazelle The Lego Movie (2014) Warner Bros. minifigs from Amazon.com 4. FAMILY TRADE: Grandfather: Darwin L. Richardson July 1922 Jan 2003 WWII Marine & Copper Miner Father: David B Richardson Safety Engineer & Coal Miner Me: Neal A Richardson Sr. Java Data Miner Son: Andrew, Jr. Minecraft Expert 5. TRACE MINERALS Mother: Andrea Richardson Choir Director, Mother of Six, Nurse, Teacher, Coach, Counselor, Jailor Convinced everyone that vegetables contained trace minerals. Taught me to always be kind to my brothers and sisters Even the one that broke my arm when I was six years old Keep any you glean from the presentation Leave any feedback you may have for me 6. AIR MAIL: Grandparents: Calvin & Mary Jackson Air Force Colonel, Pilot and Lover of Technology Donated our first PC to my parents which my brother taught me how to use Encouraged us to pursue technical careers and complete our education 7. Popcorn and a Movie Movies, Musicals, Animated Movies, and Computer Games. 8. Why history matters - THE DOCTOR WILL SEE YOU NOW: Linguistics Why do they always ask for the origin in the spelling bee? Computer Science Why do I care if the program is interpreted or compiled? Healthcare Medical history questionnaire for glasses? Really? Life What the heck does mining have to do with Chef? Is there another talk going on in Ballroom B? http://valentinlaube.de/projects/minervga/ 9. DEFINE: LANGUAGE When I say I like programming languages, Im afraid I come across like this: 10. DEFINE: LANGUAGE SOUND MEANING 11. DEFINE: PROGRAMMING SYNTAX IMPLEMENTATION / COMPILED CODE 12. DEFINE: LATIN (ROMANCE) The Roman Empires Vulgar Latin Over 45 languages derived including: Spanish Portuguese French Italian Romanian Catalan English Others 13. DEFINE: MORE LATIN Scripps National Spelling Bee official rules: Spellers requests: In oral competition the pronouncer responds only to the spellers requests for repetition of the words pronunciation, a definition, sentence, part of speech, language(s) of origin and alternate pronunciation(s). 14. DEFINE: PROGRAMMING Wikipedia will give you a very good history of programming James Iry will give you a very funny one. http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly- wrong.html Ada Lovelace, Alan Turing, Java, and C# 15. LEARN YOU A HITCHHIKER For Great Good the Hitchhiker's Guide has already supplanted the great Encyclopaedia Galactica as the standard repository of all knowledge and wisdomin two important respects. First, it is slightly cheaper; and secondly it has the words DON'T PANIC inscribed in large friendly letters on its cover Douglas Adams Learn you a Haskell for Great Good is an excellent introduction to Functional programming for two important reasons. First, it has Gordon Freeman in the Lambda Chapter; and secondly, it has the words HOLY SHIT inscribed on the free edition hosted on the authors website. Which is what you will be saying once you feel the great good. Neal A Richardson Sr.http://learnyouahaskell.com/ 16. WHAT ABOUT BRAINF*** eWay antKay aSay ainBray uckFay Seriously? Piglatin? This is upidstay! http://esolangs.org/wiki/Language_list There are a LOT of esoteric spoken languages! PigLatin Klingon (recent AskReddit) Multiple LotR Languages Dothraki Navi Newspeak (1984) http://blog.vuze.com/2014/02/24/9-fake-languages-can-learn-speak-converse/ http://www.dangermouse.net/esoteric/piet.html How about piet? Or one of hundreds more including (ccc) 17. DEFINE: LOST LANGUAGES Rosetta Stone Ancient Egyptian hieroglyph Demotic script Ancient Greek A key to understanding 18. HANG THE CODE! Its more like guidelines anyway, right? My Dear Aunt Sally would Malbolge your Monads 2 + 5 x 3 = 17, not 21 She sells seashells by the seashore. The seashore seashells she by sells. Context-Free Grammar and Finite State Machines Functional Programming and Theory of Computation 19. NEALS FIRST PROGGY Speaking of old code DEMO TIME this probably wont explode? http://code.org 20. MAGNETS? We havent had dealings with floppy disks since the DARK days 21. EXECUTE: 3-2-1-CONTACT https://archive.org/stream/enter-magazine-15/Enter_Issue_15_1985_Mar#page/n27/mode/2up 22. EXECUTE: ATDT*99# @5400 DIAL-UP BBS The fastest modem in town Juno email before it was cool, then old, then cool again, but dumb now. RIPTerm, Usurper, TradeWars, iD Soft, Sierra, and Shareware http://ton.anairo.tv/wp-content/uploads/2011/12/bbsmenu_large.jpg 23. EXECUTE: INTERNETSCAPE HTMLGOODIES.COM JAVAGOODIES.COM 24. FRAMES EVERYWHERE The 640x480 is strong with this one! 25. EXECUTE: TEAMWORK (BEFORE) www.stephens.edu via archive.org wayback machine 26. EXECUTE: TEAMWORK (AFTER) Gladiator (2000) - Dreamworks Ive lost the password to nebulacomputing Nobody controls the wayback machine Geocities is available on bit-torrent Mom was right www.stephens.edu via archive.org wayback machine 27. EXECUTE: THREAD.SLEEP(999) C++ is a horrific language to begin with. Its like trying to teach your child Klingon as a primary language, then filing for ESL status when they reach kindergarten. Its just rude. Physics Pre-Med Psychology I *considered* religion but I got an F in REL-100 twice. Community College Deep Down, I was always a Nerd -------------- ---- --- -- - - > T-Mobile Call Center Solving Problems with Androids The only constant in your career is change 28. EXECUTE: WAKE(PARENT) Theres nothing quite as motivating as a child process Python made it much easier to get back in the swing of things processing.org FANG programming engine for games Quake 3 Hacknights in Cheek Hall Computer Labs ACM Meetups and AITP Presentations Excellent classes on languages, graphics, and MIPS assembly Cerner Internship involved XML and DB Optimization The final week I wrote a DOS .bat file for a java utility Keeping it old school! 29. EXECUTE: NATURAL STATE Older company with good history Smaller Employee Base with growth potential C# and VB.Net programming More Database (SQL / DB2) and UI Experience Opportunity to learn COBOL while uplifting old systems to new platform Overall a very positive opportunity, but I missed the culture here Believe it or not, COBOL wasnt that bad, but I missed Crucible 30. EXECUTE: GOTO 64117 Oauth Test Helper Dont Rain on my Parade! Dude, Wheres my GridCloud? I get a free ride to the front door? AWESOME! Where do I sign up for the free pizza? I do not think Chef means what I think it means brace yourselves, try that again, stop ECHO!, slash the slashes, get-that-outta-my-path, try/catch,try try try,trying a different idea, straight teeth (braces), i was overthinking it, yet another go, dorp, attempt to ignore failure, improved logic and logging, ugly but it works, fix syntax, fix syntax 2.0, using the sharp end so team can run against dev with it, reset back to original - Passive FTW, added new code back, fix re-run logic, Logical bugfix Actual git commit messages: Sometimes you have to get help And thats okay! 31. EXECUTE: BREAK Multiple successful RTPs last year using Chef and Java Slowly but surely learning how to mac the knife But =lorem(5,6) doesnt work in Word for Mac Came across a COBOL related project a few weeks ago Respectfully declined the opportunity 32. RETURN: ENGINEERING Dont let your Lego or Software Creations get smashed in the grapes of wrath. Leave everything you touch better than you found it. You dont have to speak a language to appreciate it. Steve Wozniak was able to build this in a garage, with a bucket of breadboards. Every line of code you write will stand longer than you can imagine. Be sure it is structurally sound and a good representation of you. 33. RETURN: HEALTHCARE This industry is a fast-moving one, and we need to move with it. This industry also has a lot of history and tradition. We need to know where it started. There is COBOL running somewhere, even if its when the payment and insurance gets processed. I guarantee it. The more you know about a person, the more you can do to help improve the life and health of that individual. 34. RETURN: LIFE Everyone starts somewhere. Usually it is as simple as Hello World. Nearly everyone has a mentor. Most everyone had more than one. Be sure to thank them. Frequently. After youve been in the industry long enough to learn something, try to be a mentor to someone else. The way you teach someone can leave a lasting impression. Be sure you do what you can to make it a positive one. Be nice to your Mom. (and Dad) 35. Thank You Mom Dad Grandma Grandpa Brothers Sisters Cousins Aunts Uncles Neighbors Coaches Teachers Scoutmasters Mentors Bosses Admins Co-Workers Architects Seniors Alan Turing