Sunday, August 26, 2012

How-To Teach Yourself How to Program?

The web is full of free resources that can turn you into a programmer and if you've always wanted to learn how to build software yourself or perhaps write an occasional script but had no clue where to start than this guide is for you!

If you're interested in becoming a programmer, you can get off to a great start using tons of free web-based tutorials and resources. Since the early days of the internet programmer communities have been using it to discuss software development techniques, publish tutorials, and share code samples for others to learn from and use online.

Choosing a Language

A common issue for beginners is getting hung up on trying to figure out which programming language is best to learn first. There are a lot of opinions out there, but there's no one "best" language. Here's the thing: In the end, language doesn't really matter. Understanding data and control structures and design patterns is what matters. Every programming language, even basic scripting languages will have elements that will make other languages easier to understand.

Many programmers never actually take accredited academic courses and are self-taught in every language throughout their careers. This is achieved by reusing concepts already known and referring to documentation and books to learn its syntax. Therefore, instead of getting stuck on what language to learn first simply, pick the kind of development you want to do, and just get started using the one that comes the easiest to you.

There are several different kinds of software development you can do for various platforms; web development, desktop development, mobile device development, and command line.

Desktop Scripting

The easiest way to try your hand at programming for your Windows or Mac desktop is to start with a scripting or macro program like AutoHotkey (for Windows) or Automator (for Mac). Sure, now advanced coders may disagree that AutoHotkey or AppleScript are not "real" programming which is technically true as these types of tools just do high-level scripting. However, for those new to programming who just want to get their hands dirty, automating actions on their desktop, using these free tools provide essential fundamentals towards "real" programming later on. The lines of when an application comprises of scripting and when it is considered to be programming is often blurred, keep this in mind. Once your code is compiled it is considered to be "real" programming. Most end-users of an application usually don't know and shouldn't care as long as it is designed well and functions in a dynamic and robust way in order to serve its intended purpose.

Web Development

If being bound to specific programming languages and with the look and feel of a particular operating system is not your desire, consider developing your application for the browser instead and distribute it to a wider audience, as a web app.

HTML and CSS: The first thing you need to know to build any web site is Hyper Text Markup Language (HTML) the page markup that makes up web pages and Cascading Style Sheet (CSS) is the style information that controls design appearance of the markup. HTML and CSS are scripting languages that just contain page structure and style information. However, you should be familiar with writing coding by hand before you begin building web applications, because building basic webpages is a prerequisite into developing a dynamic web app.

JavaScript: After mastering development of static web pages with HTML and CSS, learning JavaScript is the next step in programming dynamic web pages in a web browser. JavaScript is what bookmarklets, Greasemonkey user scripts, Chrome Web Apps, and Ajax are made of.

Server-side scripting: Once you're comfortable at making dynamic web pages locally in a web browser, you're probably going to want to put some dynamic server action behind it. To do this you will need to learn a server-side scripting language. For Example, to make a web-based contact form that sends an email somewhere based on what a user entered, a server-side script is required. Scripting languages like, Python, Perl, or Ruby can talk to a database on your web server as well, so if you want to make a site where users can log in and store information, that would be the proper way to go about it.

Web frameworks: Instead of reinventing the wheel for every new web development project, some programmers have come up with development frameworks that do some repetitive work of rewriting similar code over and over to build dynamic web sites. Many scripting languages offer a web-specific structure for getting common web application tasks done easier. Web development frameworks include; Ruby on Rails framework (for Ruby programmers), CakePHP (for PHP programmers), Django (for Python programmers), and jQuery (for JavaScript programmers).

Web APIs: An API (Application Programming Interface) is a programmatic way for different pieces of software to talk to one another. For example, if you want to put a dynamic map on your web site, you would use a Google Map instead of building your own custom map. The Google Maps API makes it easy to programmatically include a map in a page with JavaScript. Almost every modern web service uses an API that lets you include data and widgets from it in your application. These include; Twitter, Facebook, Google Docs, Google Maps, etc. Integrating other web apps into your web application via API's are great resources for enhancing rich web development. Every major web service API should offer thorough documentation and some quick start guide.

Command Line Scripting

If you want to write a program that takes textual or file input and outputs something useful, the command line is ideal. While the command line isn't as visually appealing as a web app or desktop application, development of quick scripts that automate processes, it is the best suited.

Several scripting languages that work on a Linux-based web server also work at the command line including: Perl, Python, and PHP. Learning one of those languages will make you conversant in both contexts. If becoming fluent in Unix is one of your programming goals, you must master shell scripting with bash. Bash is the command line scripting language of a *nix environment, and it can do everything from help you set up automated backups of your database and files to building out a full-fledged application with user interaction.

Add-ons

Modern web apps and browsers are extensible with bits of software that plugin to them and add additional features. Add-on development gains popularity as more existing developers look at existing applications and frameworks and want to add a specific feature to make it better.

With only a mastery of HTML, JavaScript, and CSS you can still do plenty in any web browser. Bookmarklets, Greasemonkey user scripts, and Stylish user styles are created with the same code that makes regular web pages, so they're worth learning even if you just want to tweak an existing site with a small snippet of code.

More advanced browser add-ons, like Firefox and Chrome extensions, let you do more. Developing Firefox and Chrome extensions requires that you're familiar in JavaScript, XML, and JSON which is markup similar to HTML, but with stricter format rules.

Many free web applications offer an extension framework as well such as WordPress and Drupal. Both of which are written in PHP, making that particular language a prerequisite for development.

Desktop Development

Learning web development first is a great Segway into obtaining the needed skills from one context in order to apply to another like desktop application development. Desktop Development programming will vary on the Operating System (OS), use of Software Development Kit (SDK) provided, and desire for cross-platform development. Using previous web development skills can also be re-utilized in distribution of your desktop application across the web to market to a larger audience.

Mobile Device App Development

Mobile applications like the ones found on smartphones and tablets are increasingly popular, and having your app listed on the iTunes App Store, Google Play Store (formerly known as the Android Market Place), Windows Marketplace, BlackBerry World, etc. However, for the majority of beginner coders, delving into mobile development can be a steep learning curve, because it requires a great deal of comfort and familiarity with advanced programming languages like Java and Objective C to develop much more than a basic "Hello World" application.

The Long Road Ahead

Great coders are often meticulous problem-solvers whom are passionate at what they do and fueled by small solitary victories of overcoming issues through trial and error. The path to a career is both a long road of endless learning and frustration but very rewarding and profitable none-the-less.

Kayol Hope has a deserve background and working knowledge specializing in the areas of IT Consulting, Programming, and Web Development. His blog and online community of social networking was established to house and showcase some of the best information technology & programming tutorials and articles around. His published tutorials not only produce great results and interfaces, but explain the techniques behind them in a friendly, approachable manner.


Sunday, August 19, 2012

iPhone App Developer - Going With Technology

Designed and launched by Apple Inc., iPhone is counted one of the most liked Smartphones. The first release of the iPhone is recorded on June 29, 2007. This useful device works on Apple's iOS mobile operating system. With its exceptional features, this tiny gadget is touching new heights of success at the marketplace of mobile phones. It is apparent whether it is a person or a thing, if it is experiencing great success it means it is appearing with some improvisation every time. Same with the iPhone, all its offered versions got admiration as they came with some kind of changes.

If you want to follow iPhone application development then it is good to hire an experienced iPhone app developer. Make sure that you appoint a developer who possesses enormous experience and knowledge of the required field. It also needs to be kept in mind that iPhone has seen six generations so he must be abreast with all its versions. Besides it, he must be talented enough to strike a balance between your thoughts and his own. For this, you can take reference from his completed projects as well as talk to his previous clients and share their experiences and the extent to which their expectation were met. In addition, conduct interview sessions with multiple iPhone application developers and go for the one who suits the best as per your exact needs.

iPhone application development is not confined to one type as it revolves around several fields. There are entertainment based apps with those you can relish with listening to music, watching movies, etc. With gaming app, you can access your desired game like quizzes, racing and puzzles. In the same way, sport lovers get all the latest updated of sports with sports application development. And, more applications are counted including social networking, weather, travel information and there are specific business apps. Apart from this, the selection of iPhone app developer is conducted while taking your desired app into account.

Services related to such iPhone application development can be availed at yearly, monthly or hourly basis. And, if your project is too small and has less development work then it is better to go for a freelance developer. But, for medium to high end projects, it is considered the best option to appoint a developer from a renowned outsourcing company especially where Mac developers are more. As such companies have their own project managers so you do not need to get worried about project management. And, most of the reputed companies are facilitated with advanced mediums of communication like video conferences, telephone, net chatting and many more.

Developing an advanced application will not be considered a success till it is downloaded by more and more users. For this, developers are suggested to boost up the ranking of their application so that it can become a success. Thus, make a robust title and make sure that it is at par with the laid criterion of iTunes store before you submit it to Apple store.

Sunday, August 5, 2012

Hire PHP Developer - To Develop Multipurpose Smart Website

PHP is most common and most popular programming language used for creating dynamic web pages. It is a prime fact that PHP is the base of most of the successful websites. The developers find PHP as a friendly programming language because it provides them flexibility to use it as per their wish.

The demand of the PHP developer is really high in the web market as most of the users choose PHP for their web sites development. Though, PHP has wide approach still, there are few countable developers that have vast knowledge of the language.

A simple website can be developed by a fresh developer also, but to design a heavy or bulk web-site, expert PHP developer is required because complexity of the task increases with the increase in the number of web pages of the site and the same can be handled by an experienced PHP programmer only.

How to Hire PHP Developer

If you are looking forward to hire PHP developer to develop your web-site then, it is quite necessary to test the capabilities of the developers by measuring its key specialties on following parameters:

    First of all, a client must check that how much experience the developer has in the same field because more the experience better will be the quality of work.

    Secondly, test the problem solving ability of the developer by assigning a complex yet short task to him.

    Thirdly, have a look over the previous work of the programmer because it will help you in judging its level of superiority

    Fourthly, ensure that developer is not demanding extra money and asking for genuine time to complete the task.

    Fifthly, examine the creativity and presence of mind of the developer by asking him some difficult questions.

    Finally and most importantly, you must make sure that programmer have deep and sound knowledge of PHP language.

On the other hand, client should also prepare himself/herself before creating a website and selecting a developer or a team of PHP programmers. A customer should do the following thing before hiring a PHP developer:

    Planning for the project

    Making the list of essential elements, he wants to introduce specially in the project.

    Must prepare a list of benefits that he wants to receive.

    Preparing a list of terms and conditions

    Setting up a meaningful quotation for the project.

The above mentioned points will help you in employing a perfect PHP developer or programmer.

Wednesday, August 1, 2012

Using The Timer Function In Excel To Find The Best Solution To VBA Problems

Usually there is more than one solution to any given problem facing Excel developers. For example, you could use the range method to select cells or the current region function.

Fortunately, Excel provides the functionality to test your preferred method for speed and this article explains how to use the timer function to compare different strategies.

Scenarios For Speed Testing

One example might be to determine the best way to total a selection of cells using VBA. You might loop through each cell and add to a sub-total or use the in-built sum function directly in code. Common sense will tell you the sum function will be faster but let's work through the timer function and put it to the test.

Our scenario involves adding the values of 1500 separate cells.

First, we'll create two separate functions which will hold the different solutions.

function TimeSum() ct = Application.WorksheetFunction.Sum(Range(Selection.Address)) end function function timeCells() total=0 for x=1 to selection.rows.count total=total + activeCell.offset(1,0).value next end function

Now we'll create a procedure that will select the range, and time the two functions separately.

sub test startTime = timer Application.Run ("timeCells") endTime = timer elapsed = endTime - startTime Debug.Print a(x); elapsed startTime = timer Application.Run ("timeSum") endTime = timer elapsed = endTime - startTime Debug.Print a(x); elapsed end sub

As you might expect, the sum function is much faster and the timer returns a value of 0 seconds.

timeCells 0.0390625 timeSum 0

To get a more accurate figure, we'll increase the iterations to 50, meaning each function totals the cells 50 times. We can pass a string which tells the function how many times to perform the calculation, allowing us to extend the testing over a number of iterations.

In this scenario the timer returns a more meaningful result.

timeCells 2.191406

timeSum 0.0078125

With the number of iterations greatly increased, the sum function has taken less than.01 seconds to complete the task, whereas looping through each cell took over 2 seconds.

This scale of difference could be particularly relevant in large spreadsheets or in cases where you are using one worksheet to update another.

Summary

In most cases whichever method you use to solve a problem doesn't affect performance noticeably until the iterations become sizeable. However, it's good programming practice to ensure you're using the optimum method for the task at hand.