background preloader

Getting Started

Facebook Twitter

Unconventional way of learning a new programming language. So, how do you learn good practices of the new programming language that you are trying to learn?

Unconventional way of learning a new programming language

Contribute to an open source project in that language. Surprised? ABC: Always Be Coding – Always Be Coding – Medium. Be honest.

ABC: Always Be Coding – Always Be Coding – Medium

Are you a good engineering candidate? How are you measuring yourself? How many companies have you interviewed at? Ten Rules for Good Code. Pieterh wrote on 22 Sep, 17:55 (457 days ago) It's one of my interview questions: "what is Good Code?

Ten Rules for Good Code

" Surprisingly, almost no-one gets it right. It's not about speed, elegance, language, or style. Good Code is code that solves real problems for real people, in an effective way. Let me list the top 10 rules for writing good code. 0. Don't learn to code. Learn to think. It seems like everyone is trying to learn to code: Code.org has celebrities like Bill Gates, Mark Zuckerberg, and Chris Bosh telling you anyone can code; CoderDojo's are springing up all over the country; the UK has made it part of their official curriculum for all grade school kids.

Don't learn to code. Learn to think.

I think this is slightly misguided. Don't get me wrong - I do think the world would be better off if everyone had some familiarity with coding - but coding itself should not be the goal. Computers and programming are just tools. Computational Thinking: How To Get It, and Why It’s Important. Wednesday, August 27, 2014 A group of children on a playground, each kid clutching a slip of paper with a number on it, moves along a line drawn in chalk, comparing numbers as they go and sorting themselves into ascending order from one to ten.

Computational Thinking: How To Get It, and Why It’s Important

Another group of children, sitting in a circle, passes pieces of fruit—an apple, an orange—from hand to hand until the color of the fruit they’re holding matches the color of the T-shirt they’re wearing. It may not look like it, but the children engaged in these exercises are learning computer science. Why Can't Programmers.. Program? I was incredulous when I read this observation from Reginald Braithwaite: Like me, the author is having trouble with the fact that 199 out of 200 applicants for every programming job can't write code at all.

Why Can't Programmers.. Program?

What It Really Takes to Be a Professional Programmer. The 7 Rules for Writing Software That Won’t Die When You Do. Life ends.

The 7 Rules for Writing Software That Won’t Die When You Do

But software doesn’t have to. After the wild success of “joe” (and the blog post that followed), I posted a tweetstorm listing some of the rules that I think separate good software from bad software. A few people got in touch with me after that to talk shop and asking for clarification on some of them. Let me be perfectly clear, though. It is only rarely possible to follow all of these rules for any given project. Online Learning: A Bachelor's Level Computer Science Program Curriculum (Updated) Introduction [Update: See also the follow-up post to this piece, An Intensive Bachelor's Level Computer Science Curriculum Program.]

Online Learning: A Bachelor's Level Computer Science Program Curriculum (Updated)

A few months back we took an in-depth look at MIT’s free online Introduction to Computer Science course, and laid out a self-study time table to complete the class within four months, along with a companion post providing learning benchmarks to chart your progress. In the present article, I'll step back and take a much more broad look at com-sci course offerings available for free on the internet, in order to answer a deceptively straightforward question: is it possible to complete the equivalent of a college bachelor’s degree in computer science through college and university courses that are freely available online?

And if so, how does one do so? In Education. Having a solid foundation in Computer Science is important in being a successful Software Engineer.

in Education

This guide is a suggested path for University students to develop their technical skills academically and non-academically through self paced hands-on learning. You may use this guide to determine courses to take but please make sure you are taking courses required for your major or faculty in order to graduate. Five Best Programming Languages for First-Time Learners. Larry Wall: 5 Programming Languages Everyone Should Know. The Best Programming Language For You to Learn. A few people have asked me what would be the most useful or best coding language to learn.

The Best Programming Language For You to Learn

Skipping aside HTML/CSS—I think the answer rests on what you want to do with code. Javascript and its frameworks are really useful for building something with just one language. Angular.js can control the front side of the website that displays to your users, Node.js will act as a web server that can host all of your content, Express.js runs in the middle directing where information goes, and MongoDB acts as the storage center for data you accumulate from your users—the MEAN (Mongo/Express/Angular/Node) technology stack—an organizing framework that helps build everything you’d need for a web application—is the one favoured by a whole lot of startups these days.

It’s a whole component of technologies that can build everything web-wise based on one language. I’ve been using Egghead.io and Scotch.io to catch up on my Angular and MEAN stack skills. MEAN Stack from scotch.io with code(love) 4 Ways to Pick Your First Programming Language. If you haven’t picked your first programming language, the programming world is your oyster.

Yet with evangelists for every language telling you their language is the best, choosing one to start with can be incredibly overwhelming. We’ve looked at the data for the top ten programming languages in the US (based on IEEE Spectrum data) to help you pick the best language to start with based on your priorities in lifestyle, location, and career potential. Python is a popular, well-paid language, being versatile enough to be used in many different applications, while Javascript is used widely across the country, and can be a good choice if you don’t want to relocate for a job. Although some newer programming languages, such as Swift, are not included, you shouldn’t discount the growth of their popularity. Career opportunities in iOS development using Swift, similar to Android development using Java, will increase as the field of mobile app development continues to expand.

How I Taught Myself to Code in Eight Weeks. 6 Things You Need to Learn To Build Your Own Prototype. This is the fourth part of a series on becoming your own technical co-founder. In 2008, we couldn’t find a technical co-founder for Yipit. I’m writing about how I became our technical co-founder. Hopefully, I’ll encourage other entrepreneurs with a dream but no technical co-founder options to take their destiny into their own hands. Disclaimer: If you know a great technical co-founder that wants to work with you, join them. This series is intended for everyone else. Learning Python I know the below will seem daunting. I remember reading the Learning Python book and putting it down after 20 pages and having a major freak-out. A concrete approach to learning how to program. As someone who has previously taught computer programming for nearly a decade, I’m often asked questions that involve “what’s the best way to go about learning to program computers,” or “what’s the best way to get a software engineering job,” or “how can I learn to build mobile or web apps?”

Most of the readers of this blog have probably faced the same question at some point in their career. How did you answer it? Why Learning to Code is So Damn Hard. Quincy Larson was just a "guy in a suit in an office" and decided he wanted to learn how to code. So he asked around. He started by picking up a bit of Ruby then found himself skimming through other languages like Scala, Clojure and Go. He learned Emacs then Vim and even the Dvorak keyboard layout.

He picked up Linux, dabbled in Lisp and coded in Python while living on the command line for more than half a year. Like a leaf in a tornado, the advice Quincy received jerked him first one way and then another and then another until he'd finally taken "every online course program imaginable".

8 barriers to overcome when learning to code. While being a mentor for a JavaScript Web development course, I’ve seen many beginner programmers jump into learning with enthusiasm and then immediately hitting a wall. Most of the students usually struggle with the same barriers. But once they learn to overcome them, they get instant benefits: Teach Yourself a New Programming Language in 21 Minutes (Or 2-3 Years, It Depends)

Teach Yourself Programming in Ten Years. The Perils of JavaSchools. By Joel Spolsky Thursday, December 29, 2005 Lazy kids. Revenge of the Nerds. May 2002 In the software business there is an ongoing struggle between the pointy-headed academics, and another equally formidable force, the pointy-haired bosses. Everyone knows who the pointy-haired boss is, right? I think most people in the technology world not only recognize this cartoon character, but know the actual person in their company that he is modelled upon. The pointy-haired boss miraculously combines two qualities that are common by themselves, but rarely seen together: (a) he knows nothing whatsoever about technology, and (b) he has very strong opinions about it.

Suppose, for example, you need to write a piece of software. Why does he think this? Well, this doesn't sound that unreasonable. But all languages are not equivalent, and I think I can prove this to you without even getting into the differences between them. Presumably, if you create a new language, it's because you think it's better in some way than what people already had. So, who's right? The Downfall of Imperative Programming. What is Object Oriented Programming (OOP)? - A Basic Explanation. Introduction to Object Oriented Programming Concepts (OOP) and More.