Programming Doesn

So, two different posts crossed my transom recently, that I felt I had to respond to. First, and most egregiously, there’s The Daily WTF’s Programming Sucks! Or At Least, It Ought To. Then there is this blog post on Why Functional Programming Doesn’t Catch On. I am of the opinion, having covered much of the computer industry one way or another, that there are no non-trivial, uninteresting problems. The reason is just this- any problem that is boring, trivial, and/or mechanical should be done by the computer. I mean, come on, people! We’re programmers. If anyone anywhere should be able to harness the power of computers to make our work easier, it should be us programmers- the ones harnessing the power of computers to make everyone else’s work easier! If programming sucks, it’s because we’re being incredible stupid. Five lines of code duplicated over and over again, just to set some UI properties? Dear gods, people. Hasn’t any heard of subroutines? Abstraction? How about straight up code generation, or maybe implementing a DSL? OK, maybe if you’re only replicating those five lines a couple of times it’s not worth the bother. But if you’re replicating (with minor variations) those same lines of code over and over again, it’s probably worth it to step back and consider how to abstract things.

( Read more )

Top 25 Most Dangerous Programming Mistakes

If you work on software in any capacity, at least skim this list. I encourage you to click through for greater detail on anything you're not familiar with, or that piques your interest.

( Read more )

Outsourcing software application development

Outsourcing is one of the new methods of division of labour that emerged, as we well know, already during the primitive-communal system. Commonly a company resorts to outsourcing when it is necessary to perform certain work, which has low priority or which is not their specialty. In the field of IT outsourcing has become especially high demand. Quite often companies outsource such IT-services as development of the company’s IT strategy, introduction of information systems, creation and maintaining of network and IT infrastructure, as well as many other types of services. In this article we will discuss peculiarities of software development outsourcing, its advantages and disadvantages.
Outsourcing the full cycle of software development
A typical scenario of outsourcing the full cycle of software development for a company, which is specialize in other areas in application development, is as follows. A company, which has a task to automate their business processes or provide informational support, finds out that commercial off-the-shelf products available on the market cannot satisfy some of their needs. It goes without saying that there are vertical markets and subject domains, for which there are no typical solutions yet. In this case, such a company traditionally orders development, introduction and technical support of a personalized product, specializing in software development in the respective field.
As a rule, such project in any case expensive than introduction of a ready business application; but, if no relative business application is available in the market, then the only choice to outsourcing software development would be a still more expensive decision on creation of an own software development department or delegating this function to the company’s IT department. It should be noticed that in the 90’s such administrative solutions were taken in many Russian and Ukraine companies and many of them had later to deal with unfavorable consequences of such “garage-made” development, arising from the lack of proper development processes and software life cycle management, such as lackof proper project documentation, impossibility to modernize the application in case of changes in the business processes, inconsistency of the used technologies. Nowadays many of these companies have realized inexpediency of employing own programmers and have become clients of specialized software development and software testing companies.

10 Ways to Cut Down Web Development Time

In today’s development environment: faster is better.

Present-day buzzwords and buzz terms like «rapid application development», «Asynchronous JavaScript and XML» (we can’t even wait for web pages reload anymore) and «Agile» gives you an insight of the fast-paced world we live in.

But getting things done rapidly does not mean working faster and harder — it's just working smarter. You will find 10 general, developing time-saving tips to cut down on your development time.

1. Use frameworks

Frameworks abstract regular code to provide you a structure and foundation for fast developing web applications.

A example of a framework is Ruby on Rails, a web application development framework for the Ruby language. By providing pre-made functions of code (for example — user input validation methods) — not only do you save time from writing your own code in Ruby — but you’re also assured that the packages have already been tested and inspected by other developers, saving you trouble in extensive testing as well as potential bugs due to the lack of testing.


( Read more )

Top 25 Most Dangerous Programming Mistakes

If you work on software in any capacity, at least skim this list. I encourage you to click through for greater detail on anything you're not familiar with, or that piques your interest.

( Read more )

Programming Doesn

So, two different posts crossed my transom recently, that I felt I had to respond to. First, and most egregiously, there’s The Daily WTF’s Programming Sucks! Or At Least, It Ought To. Then there is this blog post on Why Functional Programming Doesn’t Catch On. I am of the opinion, having covered much of the computer industry one way or another, that there are no non-trivial, uninteresting problems. The reason is just this- any problem that is boring, trivial, and/or mechanical should be done by the computer. I mean, come on, people! We’re programmers. If anyone anywhere should be able to harness the power of computers to make our work easier, it should be us programmers- the ones harnessing the power of computers to make everyone else’s work easier! If programming sucks, it’s because we’re being incredible stupid. Five lines of code duplicated over and over again, just to set some UI properties? Dear gods, people. Hasn’t any heard of subroutines? Abstraction? How about straight up code generation, or maybe implementing a DSL? OK, maybe if you’re only replicating those five lines a couple of times it’s not worth the bother. But if you’re replicating (with minor variations) those same lines of code over and over again, it’s probably worth it to step back and consider how to abstract things.

( Read more )