background preloader

Pick the Right Language

Pick the Right Language
Adron Hall is the lead developer of cloud solutions at New Relic. During the course of every coding project, a software developer must make dozens of decisions. Sometimes this involves solving a problem unique to a particular domain space or a particular architectural issue. Other times it’s about which language is best for a job. Too often, languages are applied to a problem space where another language would be better. Financial Sector The financial sector benefits from a number of languages. Another key need in the financial sector is languages that benefit from object-oriented paradigms with strong architectural patterns backed by a lot of guidance from the organizations around the languages. Top Languages: Scala, Java, and C# Agency, Media, Advertising, and Design With the overall design processes needed in creative work, languages that can prototype fast are in high demand. Top Languages: Ruby, PHP, JavaScript, Java, and Objective-C Enterprise Applications and Operational Software

Codecademy - Code in Python Codecademy, a website that teaches users how to code through free, interactive tutorials, is launching its first Python courses Monday. Codecademy's website already offers a few hundred exercises in HTML, CSS, JavaScript and jQuery, Zach Sims, Codecademy's 22-year-old co-founder, tells me. Together, 100 million tutorials have been completed by millions of users. Six track courses are being launched for Python on Monday. Codecademy is asking users to submit additional Python exercises for other users to learn from. Why Learn to Code I think it is inevitable that we’ll ALL HAVE learn a little code whether we want to or not, if only to be competitive in the evergrowing digital marketing space. I have found that every job that I’ve performed I’ve had to know basic code in order to offer employers and clients the best possible service. It seems that that may be the norm sooner rather than later. I am feeling like I may need to venture into this field a little bit more. Please Include Attribution to With This Graphic Like this: Like Loading... Anise Smith has a Masters Degree in Internet Marketing from Full Sail University.

Features & Physics Envy I use the above graph to pick what features to add or improve based on how many customers use them, and how often. This leads to curious but clever decisions. For example if a hotel booking website has to choose between a minor improvement to the date picker, or a significant improvement to the print stylesheet, then the minor improvement is always a better choice. All features were not created equal, hence the diagram. In addition, just because a feature took months, it doesn’t mean it’s going to be useful. We suffer from Physics Envy Physics envy is a term that can be used to describe the desire of designers, developers, and project managers to enforce laws on a system that simply doesn’t obey them. Rather than try stare enviously at those who don’t work with such irrationality, let’s see how we can use this to our benefit. Anything in the lower right corner is special. When to Use Quick Wins Customers won’t value all the development you do on a project.

KidsRuby Teaches Your Children How to Program You’ve got to start them young, right? With kids picking up on how to use a computer faster than ever before, why not teach them how to program too? Kids Ruby is a piece of software and set of tutorials that teaches kids the art of development, with Ruby as its programming language of choice. The software is available for Mac or PC, or if you’re feeling really adventurous, you can install the KidsRuby OS, which is built on Ubuntu. Teach your kids how to program The KidsRuby site speaks about programming in a way that kids can understand. When we say “hack your homework” we mean “learn how to write a computer program to help you with your homework”. How adorable is that? With the KidsRuby editor and curriculum, children can jump right in and start creating simple programs in Ruby: With all of the code for KidRuby sitting on GitHub, people are starting to collaborate on it and make more curriculums for your budding rock star developer. ➤ KidsRuby

How to Communicate Your Software Needs to a Developer Brett Miller is the president of Custom Software by Preston (CSP). For more than 10 years, CSP has impressed clients with highly effective software solutions and teams of multi-talented software engineers. It might seem obvious, but effectively communicating your project needs to software developers is more than just important. It could actually mean the difference between a project that achieves its objectives and one that does not. Having an idea in mind and being able to discuss it intelligently isn’t always enough to efficiently communicate all the critical nuances and required details. SEE ALSO: HOW TO: Hire a Designer or Developer Below are some techniques and exercises that can be used to help you document the vision for your software project. The good news is that you can’t do this wrong. Let’s Get Started List a few websites you like. Existing Applications Application Users Add details to the major features categories identified above: Internal vs. Final Check

How To Hire a Great Developer [FLOW CHART] Thomas Edison once said that "genius" is 1% inspiration and 99% perspiration. In the world of technology startups, that 99% involves a heck of a lot of coding and wireframing. If you've got an idea for a startup, that's great — but odds are that an idea is all you have. If you're just foraying into the land of entrepreneurship, you may wonder where the to even start looking for such a person. From trolling your network to attending meetups, there are myriad ways to meet skilled developers. Throughout the search, there's plenty of room for missteps, and you might not know the right questions to ask. Image courtesy of iStockphoto, nullplus, Infographic courtesy of General Assembly

Aptana Studio 3 The professional, open source development tool for the open web It's ready. It's time. Core Features HTML, CSS, and JavaScript Code Assist Aids in authoring of HTML, CSS, JavaScript, PHP, and Ruby. Code Assist Deployment Wizard Support for one-shot as well as keep-synchronized setups. Deployment Wizard Support for one-shot as well as keep-synchronized setups. Integrated Debugger Set breakpoints, inspect variables, control execution. Integrated Debugger Git Integration Easily put your projects under git source code control. Git Integration Easily put your projects under git source code control. Built-in Terminal Quickly access a command line terminal for execution of operating system commands and language utilities such as gem, rake, etc. Built-in Terminal IDE Customization Setup your development environment exactly the way you want it by extending the core capabilities through scripting of custom commands. IDE Customization

Programming Languages (critique) For many digital products, poor user interface design and UX can sink an app’s fortunes even if the underlying engineering is powerful and innovative. (Remember Color?) But what about the interfaces behind the interface, the ones that developers spend hundreds or thousands of hours interacting with while they build software for the rest of us? Yes, I’m talking about programming languages. Let that sink in. They created a "placebo language" called Randomo, whose syntax was randomly generated, to use in trials alongside Quorum and Perl. I asked Andreas Stefik, the paper’s lead author, what design attributes an "evidence-based programming language" like Quorum had that made it easier for novices to use accurately. integer i = 0 repeat 10 times i = i + 1 end That still looks mostly like Greek to me, but Stefik compares it to this equivalent statement in Java ("which is similar to Perl is some ways," he says): for(int i = 0; i < 10; i++) { } That’s not Greek, it’s Klingon.

Teaching kids how to code by Marshall Brain Quick Intro - If you are looking for a quick and easy way to teach your kid a real programming language, without downloading anything or buying anything, try these Python tutorials. Your kid will be writing and modifying code in just a few minutes. Marshall Brain's quick and easy Python tutorials Let's say that you have children, and you would like to help them learn computer programming at a youngish age. Let's start with a something important: Every kid is different. The second thing to realize is that real analytical skills often don't start appearing until age 11 or 12 or 13 in many kids, so expecting huge breakthroughs prior to that may be unrealistic. That being said, there are lots of fun things you can try as early as five or six... Games Let's start with a few games. Magic Pen (wait a few seconds to see the word "play", then click the word "Play") Fantastic Contraption Auditorium (Drag the circle-with-arrow-in-it around. I love Light Bot. Python for Kids RoboMind

Cheat Sheets & Quick Ref Cards for Developers Learn to Code with Harvard’s Intro to Computer Science Course And Other Free Tech Classes I’ll confess, when it comes to computers, I’m pretty much strictly a user. And these days, with the potential freedom and creatively afforded by open access software, the endless hacks for virtually everything, and the availability of free online computer classes, that seems like kind of a lame admission. So I’m tempted to rectify my programming ignorance by pushing through what promises to be a rigorous intro to computer science, CS50, Harvard’s introductory course for both majors and non-majors alike. The course offers a broad knowledge base to build on, as you can see from the description below: Topics include abstraction, algorithms, encapsulation, data structures, databases, memory management, security, software development, virtualization, and websites. Harvard has made this course available free to anyone---via YouTube, iTunes, and the course page---with a series of lectures filmed during the Fall 2011 semester. Professor Malan has become something of a hot shot at Harvard.

4 Free Ways to Learn to Code Online The Web Development Series is supported by Rackspace, the better way to do hosting. Learn more about Rackspace's hosting solutions here. Learning to code is something every tech-minded person should try at least once — and the wealth of online courses, many of which are free or surprisingly inexpensive, make learning about programming easier than ever. If you're thinking of picking up C++, Ruby on Rails, Python or Java, these online options might be a good way to test the waters of programming before you fully invest your time and money in formal training or certifications. One disadvantage of learning to code through an online platform is the lack of face-to-face interactions with an instructor. In the comments, let us know if you've found other great resources for learning about programming — or other sites for support and Q&A for newer developers. Series Supported by Rackspace The Web Development Series is supported by Rackspace, the better way to do hosting.