Category : Quotes

greatest-programmers-of-all-time12 Greatest Programmers of all Time

12 Greatest Programmers of all Time

A programmer is a person who can create and modify computer programs. No matter what type of programmer one may be, each and every contributes something to the society, no matter how trivial. Yet, there are those few who have contributed beyond what a single programmer usually does in an entire lifetime. These programmers are pioneers in their respective areas and have each contributed something that has completely changed the way human’s access information and media. So without further ado, here we present the 12 greatest programmers of all time:

 

12. Ada Lovelace

Ada Lovelace

Augusta Ada King, more commonly known as Ada Lovelace, was an English mathematician and the world’s first computer programmer and was chiefly known for her work on Charles Babbage’s early mechanical general-purpose computer, the Analytical Engine. The notes she created for the Analytical Engine include what is recognized as the very first algorithm created solely for the intent of being processed by a machine or in other words, the world’s first computer program.

Ada was a gifted girl from the beginning with an uncommon mindset who predicted that one day computers would transcend from simply being used for crunching numbers — totally against the popular opinion of that time. Ada’s main inspiration came from her father and without her, who knows how long it would take for another person to design a computer program.

 

11. Niklaus Wirth

Niklaus Wirth

Niklaus Emil Wirth is a Swiss computer scientist who is regarded as a pioneer of computer programming among other fields in software engineering. He is best known for designing several programming languages, including the highly popular Pascal, Euler, Algol W, Modula, Modula-2, Oberon, Oberon-2, and Oberon-07. He also designed the simple programming language PL/0 to illustrate compiler design which formed the basis for many university compiler design classes.

Niklaus had previously worked on part of the design and implementation team for the Lilith and Oberon operating systems as well as the Lola digital hardware design and simulation system. Wirth’s pioneering work and development of innovative computer languages helped him win the prestigious Turing Award in 1984.

 

10. Bill Gates

Bill Gates

Arguably one of the most popular computer programmers of all time, Bill Gates is an American business magnate, computer programmer, PC pioneer, investor, and philanthropist. He is the co-founder, ex-executive officer and current chairman of Microsoft, which is the world’s largest personal-computer software company. He is the best-known entrepreneurs of the personal computer revolution and helped develop Windows, which is the most used operating system in the world.

For the first 5 years at Microsoft, aside from handling the business side of the company, Gates also personally oversaw every single code that the company sent out, often fixing ones he deemed incorrect or buggy. Aside from his programming skills, he is widely praised for his generosity and keen investment planning, but is highly criticized due to his anti-competitive business tactics.

 

9. James Gosling

James Gosling Java

James Arthur Gosling is a Canadian computer scientist and an officer of the order of Canada. He has coded quite a number of programs but is widely known for his creation of the highly successful and commonly used Java programming language in 1994 as well as its original virtual machine and compiler. He credits his creation towards his graduate student days where he created a p-code virtual machine for the lab’s DEC VAX computer, so that his professor could run UCSD Pascal programs and then realized that the architecture-neutral execution for widely distributed programs could be achieved by a similar technique.

James has also made major contributions to several other software systems, such as NeWS and Gosling Emacs. Due to his extra-ordinary achievements Gosling was elected to Foreign Associate member of the United States National Academy of Engineering.

 

8. Guido van Rossum

Guido van Rossum Python

Guido van Rossum is a Dutch computer programmer who is the author of the popular Python programming language that is wildly used today. His creation of Python lead him to being declared a “Benevolent Dictator For Life” the In the Python community which means that he continues to oversee the Python development process, making decisions where necessary, forever.

Rossum had developed Python while working at Google, where he also created Mondrian (a code review system internally used by the Google) and Rietveld. After working for Google for 7 years, he is now working at Dropbox. Rossum has been recognized as a distinguished engineer by the Association for Computing Machinery and also received the NLUUG Award in May 2003.

 

7. Ken Thompson

Kenneth Lane Thompson

Kenneth Lane Thompson, or simply “Ken” as he is called by the hacker community, is an American pioneer of computer science. Thompson had designed and implemented the original Unix operating system and also invented the B programming language (the direct predecessor to the famous C programming language), and was one of the early developers of the Plan 9 operating systems.

Since 2006, Thompson has also co-invented the Go programming language while working at Google. Ken’s other contributions included his work on regular expressions, early computer text editors QED and ed, the definition of the UTF-8 encoding, and even his work on computer chess that included creation of endgame tablebases and the chess machine Belle.

 

6. Donald Knuth

Donald Knuth

Donald Ervin Knuth is an American computer scientist and mathematician as well as a Professor Emeritus (retired professor) at Stanford University. Knuth has been dubbed as the “Father of the Analysis of Algorithms” as he has contributed to the development of rigorous analysis of the computational complexity of algorithms and systematized formal mathematical techniques for it.

Knuth has also popularized the asymptotic notation and he is also the creator of the TeX computer typesetting system and the METAFONT font definition language and rendering system. He has contributed to several branches of theoretical computer science and has also created the Computer Modern family of typefaces.

 

5. Brian Kernighan

Brian Kernighan UNIX

Brian Wilson Kernighan is a Canadian computer scientist who worked at Bell Labs alongside Ken Thompson and Dennis Ritchie. He is the co-creator and developer of UNIX. He is also co-author of the AWK and AMPL programming languages. Kernighan is currently a Professor and the Undergraduate Department Representative at the Computer Science Department of Princeton University.

Kernighan became famous by co-authoring the very first book on the C programming language and by authoring many UNIX programs such as ditroff, and cron for Version 7 Unix. His other notable work include his popular criticisms for Pascal called “Why Pascal is Not My Favorite Programming Language”.

 

4. Tim Berners-Lee

Tim Berners-Lee father of internet

Sir Timothy John “Tim” Berners-Lee is a British computer scientist who is renowned all across the globe because of his creation of the World Wide Web as well as the implementation of the first successful communication between a Hypertext Transfer Protocol (HTTP) client and server via the Internet in November, 1989.

Tim has won multiple awards for his pioneering ingeniousness such as becoming one of only six members of the World Wide Web Hall of Fame and one of five Internet and Web pioneers who have been awarded the inaugural Queen Elizabeth Prize for Engineering. He is also the holder of the Founders Chair at the MIT Computer Science and Artificial Intelligence Laboratory.

 

3. Bjarne Stroustrup

Bjarne Stroustrup c++

Bjarne Stroustrup is a Danish computer scientist who is credited for the creation and the development of the widely used and highly successful C++ programming language. He not only invented it, but also evolved it, all by himself, by writing its early definitions, producing its first implementation, formulating its design criteria, designing all its major facilities, processing extension proposals for standards committee and its standard textbook.

Bjarne is currently working as a Professor and holder of the College of Engineering Chair in Computer Science at Texas A&M University.

 

2. Linus Torvalds

Linus Torvalds Linux

Linus Benedict Torvalds s a Finnish American software engineer, who was the principal driving force behind the development of the Linux kernel. Its creation itself is attributed towards him and he later became the chief architect of the Linux kernel, and is now the project’s coordinator.

Linus was honored with the 2012 Millennium Technology Prize by the Technology Academy Finland because of his creation of a new open source operating system for computers leading to the wide spread use of Linux kernel. He also created the ever popular distrbuted version control system called Git in 2005,as well as the diving log software Subsurface.

 

1. Dennis Ritchie

Dennis Ritchie C language creator

Dennis MacAlistair Ritchie was an American computer scientist who is credited for shaping and pioneering the digital era. He created the most commonly used C programming language that is used today in various software applications, embedded system development, operating systems, and has influenced most modern programming languages.

Dennis also co-created the UNIX operating system. For his work, in 1983 he received the Turing Award from the ACM, the Hamming Medal in 1990 from the IEEE and in 1999 the National Medal of Technology from President Clinton. He was the head of Lucent Technologies System Software Research Department when he retired in 2007. He passed away on October 12, 2011 causing the Fedora 16 Linux distribution to be released in his memory.

 

Which of the above mentioned greatest programmers of all time has influenced you the most? Share your thoughts with us in the comments section below!

Read More
13-characteristics-of-successful-entrepreneurs13 Characteristics of Successful Entrepreneurs

13 Characteristics of Successful Entrepreneurs

An entrepreneur is a person who starts a business venture taking financial risks in the hope of a profit. These days a lot of people are seen taking entrepreneurship very seriously, starting business ventures and trying to deal with the risks involved. Today we notice that the most successful and wealthiest people are in fact successful entrepreneurs. We’ve seen Bill Gates rise to be the wealthiest man in the world and Mark Zuckerberg to be the youngest billionaire of his time. They both never inherited any fortune and made all the way to the top all because of their startups. Let’s see what traits these people had in common that took them over the top and set them on the road to success:

Read More
tell-tale-signs-of-a-good-graphics-designerThe Tell-Tale Signs of a Good Graphic Designer

The Tell-Tale Signs of a Good Graphic Designer

A graphic designer is someone who assembles together images, words, or motion pictures to create a piece of design that is primarily used for publication and printing (such as brochures) or electronic media (such as online advertisements etc). Good graphic designers are also responsible for illustrations, user interfaces, typesetting and web designs. The main responsibility of a good graphic designer is to present information in a way that is attractive, accessible, understandable and memorable. So how can you tell that someone is a good graphic designer? Here are the common tell-tale signs of a good graphic designer that can help you in selecting a great resource for your team:

 

Persistence

Often you have to try and try again to find the perfect mix of font and image in order to truly make your work shine; and that takes time. Therefore, the first quality that a good graphic designer should have is persistency.

More often than not coming up with a quality design that fully satisfies the requirement becomes too much to handle, and without a persistent aptitude a graphic designer can’t push through such hard time!

 

Seeing Design in Everything

A competent graphic designer doesn’t simply think of design when working. In fact, they think of design almost 24/7. They are the type of people who will stop and stare at a random sign and wonder what they would do to make it better and more appealing. Or they would see a can of food and instinctively figure out what font is being used to promote the product.

This is because good graphic designers know that the world is filled with designs. They just can’t restrict their minds from discovering lessons, ideas, and solutions through the things that surround them. They will look for design patterns in areas other people can’t even think of, all thanks to their native designer instincts.

 

Attention to Minute Details

A proficient graphic designer will always care about details. More than just being meticulous, being a graphic designer involves identifying the tiniest bit of details that usually don’t even matter to naked eye – because when it comes to the world of graphics, all minute details are to be held sacred, even when it’s about deciding how big an impact a mere 1 pixel will make on readability and aesthetics.

The ability to judge what’s critical and what’s not is the difference between a productive designer who’s raring to get the job done while giving proper attention to each and every design element, and one who doesn’t produce anything substantial at all and goes for a lame design.

 

Cares About Solving Other People’s Problem

That’s right, graphic designers need to take other people’s problems into consideration. The very reason they design is to help people understand something which in turn helps them. This is because creating the perfect design according to one’s own perspective and style will fail if others don’t perceive it the same way.

A design is successful only when it properly provides solution to a real problem and this is something that all good graphic designers know. Design in essence is to make something better than if you were to leave it alone.

 

Dislikes Consistent State of Affairs

Nifty graphic designers never like the status quo. They will always attempt to improve the things around them in one way or another. They are the type of people who believe that something that is “good enough” is never good enough.

They will always try to find ways to innovate and make things better than they currently are. For doing so, they will always spend a good amount of time learning new things such as trending Photoshop tricks, new ways to design websites, better fonts, etc.

 

Good Communication Skills

A designers needs to be a master in the art of communication. Why? That’s because all of their work depends on it. Communication is the only way a graphic designer can get its ideas across. No matter how skilled one may be, all of the designs are useless if one can’t convince the clients that they absolutely need those designs for so and so reasons.

Another benefit of this trait is that graphic designers will be able to work more easily with other members of the team, and hence a better cooperation will lead to a better finished project.

 

Great Time Management Skills

Graphic Designers will always lose track of time, even for the simplest of decisions such as deciding a type of font or hue of a color. At times, many might sit in front of their PCs for 30 hours at a time and not realize that they have not eaten or slept since. This habit is wrong and doesn’t bear any substantial fruit whatsoever and rather results in a great loss of time.

A good graphic designer will always prioritize the important details first and get straight to work on them. He will pre-plan his day and organize what needs to be done and how much time should be spent on each task.

 

Instinctively Creative

Quite obviously, capable graphic designers are creative and resourceful. They should be adaptable and readily able to work with anything given to them. They should always be open to feedback and should welcome positive criticism.

A graphic designer has to be able to look at and see things in ways that may not be as readily apparent to others. Any stubbornness to change any design detail is a major flaw and will most likely hurt the graphic designer in the long run.

 

Always Approachable

A good personality is a must have for all graphic designers looking forward to become great. In a lot of cases, the graphic designer is like the glue holding all the other components of a project together, therefore it needs to be friendly and approachable.

No matter how amazing a designer is, no client or team member will consider working with them if they’re upset, angry or rude all the time.

 

Financially Smart

An important trait all good graphic designers have is a keen eye on finances. That includes profit, budget, limitations, feasibility, etc. They know that the key to successful graphic designing is keeping an eye on all finances because they don’t want to be over budgeted or under budgeted. A key ability of a graphic artist is to weigh out parts of the project that are design heavy and need more time or resources and allocate sufficient budget and resources for optimal project estimation.

 

Remember, the difference between ordinary and extra-ordinary is just that little ‘extra’. A graphic wizard will use all of the available resources and combine all of the above traits in order to dish out a design that stands a class apart from the competition!

Read More
Tell-Tale-Signs-of-a-Good-Programmer_110 Tell-Tale Signs of a Good Programmer

10 Tell-Tale Signs of a Good Programmer

A ‘programmer’ is a person who can code a computer software. The term programmer can generally refer to a specialist in some specific area of computer programming or to a generalist who writes code for various kinds of softwares.With popular school of thoughts such as “programming is an art” and “programming is a science”, still in existence with no definite winner, here are the top 10 tell-tale signs of a good programmer that you should look for when hunting a good programmer for your team:

 

1. Strong Domain Knowledge

While many programmers could get away with knowing only a single programming language, a truly devoted programmer knows how to code and develop in multiple languages such as C, C++, C#, Java, PHP, Python, .Net, Ruby etc.

Since our modern world is being filled with new technological innovations every second, every other person wishes to be a programmer, that is why, in order to truly stand out, a good programmer should have strong domain knowledge and should know multiple languages.

The versatility of programming languages that a programmer has command in, indicates a strong conceptual base. Therefore, the more unique languages a programmer knows, the more valuable and conceptually polished it becomes. So, always look for the versatility factor in a developer’s skillset and do give more weightage to trending programming languages that a developer knows!

 

2. Experiments First, Asks Questions Later

An average developer will always ponder the question of “If I do this, what will happen?” and eventually turn to someone for advice. However, a trait of a good programmer is that it will dive head first into the problem and try whatever deemed possible to debug the issue on its own.

New stuff never comes into the world on its own, it is born when people experiment themselves. The reason many programmers don’t have this trait is because they are often fearful of the repercussions or have weak theoratical foundations. History has always favored the bold, therefore apart from looking for a smart developer, do look for some brave soul.

 

3. Emotionally Unattached to Any Element of Programming

In order to be the very best, a developer has to constantly update itself and stay ahead of the competition which includes shunning yesteryear’s old programs and coding practices that have been outdated. Good programmers know that code is simply a means to an end and remain unattached to any specific element of programming.

With no emotional attachment to an already mastered obsolete technology, when a programmer is asked to switch to new environment, instead of doubting the critic, the programmer will look at the dark side of the old technology and will cheerish the bright side of the new technology in question.

 

4. Want’s to Improve That Isn’t Broken

Another habit good programmers have is their habit to constantly fix something even when it isn’t broken. They will look at a specific program and almost always wonder “what can I do to make it better?” They will then experiment to the bitter end.

Good programmers have a developer’s ego which forces them to always pursue better versions of their current programs. Therefore, look for people who believe in the saying, “There is always room for improvement” and are mentally committed to pursue it.

 

5. Incorruptibly Patient

There are times more often than not when programmers need to get their work done but they cannot concentrate due to excessive background sound or other forms of distractions. A good programmer needs to be patient and has to prioritize his work above all else. Such programmers care not for the things going around them — such as office politics, music, chattering, etc — as they can block out everything other than their work.

A common tell-tale sign of good programmers in this regard that you can look for is that they are incredibly tolerant and humble. These attributes will also help them to blend-in with the rest of the team, after all team work produces dream work.

 

6. Pursuits Perfection

There are programmers who strive to achieve greatness, and then there are good programmers who strive to achieve perfection. They know that greatness will come running after them if their work is perfect, and for that they are obsessed with one thing. Getting the job done in such a way that people get mesmerized.

Look for programmers that aren’t focusing for only a prosporous career but consider pursuing perfection to etch their names into history forever.

 

7. DIY’er

That’s right, a major sign of a good programmer is that it is a Do-It-Yourself-er. If there is a problem that needs solution, a good programmer will dive into the tiny bits of the issue and will fix it either via brute force debugging or via some self devised workaround.

 

8. Believes in Evolution

While it may be true that there is no point in learning all there is to know about a specific technology because it is bound to get obsolete at some point in time, what many mediocre programmers don’t get (and what good programmers do get) is that every technology that is present today or would come in the future, is nothing but an evolved variant of some earlier thing.

If the skill set of a programmer has continuously evolved with time and he has mastered the fundamental essence of programming and has an encyclopedic grasp on it then there is truly no need to worry as the programmer will be able to handle just about anything thrown at him in the future. Therefore look for people that like their skill set to evolve with time.

 

9. Has Fun Failing

Sure failing can be seen as a bad thing by an average Joe, but a good programmer will be fascinated by it and will take failure as a challenge and will dive right into the code to find out what the problem is.

Good programmers consider failures to be unique opportunities to learn. Each time they make a mistake, they take note of what they did wrong and try not to repeat the same mistake again. Evidently, the more mistakes they make, the more they learn, so for them, failure is something that is welcomed.

 

10. Driven by Experiences

Very rarely do we see someone invent something, decide what to do with it and market it. In fact, in most cases, this process is divided into many parts, with each part being completed by another fellow. This process can take anywhere from a few days to generations to complete. It is all about taking someone’s experience and working forward with it.

Good programmers always keep that in mind when programming that they might not complete a program they started, or might pick up where someone else left off and see if they can improve it in any way. They know that they might not change the world single handedly, but they do believe that they are contributing to the technological evolution bit by bit.

Read More