Computer Languages

Cobol on Linux OpenSUSE Leap

Installation of Cobol on OpenSUSE Leap

Cobol on LinuxI recently decided to install Cobol on my OpenSUSE Leap 42.3 Linux system.

Cobol is one of the oldest high-level languages, but is still used and regularly updated with the latest software engineering developments such as Object Oriented Programming. It is the language that powers up many important business application around the world.

The development of a Cobol compiler on Linux started in 2001 with a project by Keisuke Nishida and Roger While called OpenCobol,.  OpenCOBOL 1.1  that was accepted and dubbed a GNU package by Dr. Richard Stallman and became GnuCobol 1.1 in 2013 (the Official releases can be found at

A programmer’s guide, by Gary Cutler, and other documentation, can be found at

Notice that there are other Cobol compilers on Linux and one of the best know is the Micro Focus Cobol, but the GNU Cobol is the only free product. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the FSF (Free Software Foundation).

GnuCobol implements a substantial part of the COBOL 85, COBOL 2002, and COBOL 2014 standards, as well as many extensions of the existent COBOL compilers such as MicroFocus, IBM, MVS, ACUCOBOL-GT, RM/COBOL, BS2000..

GnuCobol  translates COBOL into C and compiles the translated code using the configured C compiler, usually gcc. You can build your COBOL programs on various platforms, including Unix/Linux, Mac OS X, Microsoft Windows, OS/400, z/OS 390 mainframes, among others.

Moreover GnuCobol provides EXEC SQL preprocessors for PostgreSQL, Firebird, ODBC, DB2.
GnuCOBOL 1.1, the current official release version has been built on

  • MS Windows native
  • MS Windows with Cygwin
  • GNU/Linux
  • POSIX Systems including OpenSolaris
  • OS/X
  • AS/400
  • HP Integrity HPUX 11.23
  • RS600 AIX 5
  • 390 Mainframe z/OS OMVS/USS
  • others, Raspberry Pi (quote was $35 for hardware, OS and GnuCOBOL)

There are also a few IDEs meant to support the development of programs written in GnuCobol and among them I found OpenCobolIDE written in Python and the Cobol Development Environment plugin for Eclise.

I tried to install all of them and you will find below a description of their installation.

Installation of GnuCobol  2.2.0

GnuCobolOpenSUSE does not provide gnucobol among its standard installation packages, but provides a link. for a quick installation of gnucobol by using yast2.

It displays a page where you must choose the version of OpenSUSE Leap or Tumbleweed that you are using, it warns you that the packages may be unstable (i.e. with experimental software) and then  offers you 1-click Install options.

If you continue it will show you the additional repositories to be used and they will ask you to accept the installation of the library libcob4 and of gnucobol.

At the end I could find in the /usr/bin library  the commands cobc, cob-config and .cobcrun. I could find also the new directories /usr/lib64/gnucobol and /usr/share/gnucobol

I tried to compile a small hello.cob source file, but I got the following runtime error:

/usr/include/libcob.h:25:17: fatal error: gmp.h: No such file or directory

I checked the usr/include library and actually the libcob.h file was missing.
Since the documentation says that this file is linked to gmp, I decided to install also the gmp package and the libcob-devel package that had not been installed before.

Finally I was able to compile and execute successfully my test cobol program:

linux-wgqh:/home/Mario1/Documents/Cobol/gnucobol # ls
hello hello.cob
linux-wgqh:/home/Mario1/Documents/Cobol/gnucobol # ./hello
Hello, world

Installation of the OpenCobolIDE-4.7.6

OpenCobolIDE  is a simple and lightweight COBOL IDE for the GnuCOBOL compiler.
The software is written in Python using PyQt5 (or PyQt4) and pyQode.

I decided to install this as well and I did it with the following command:

linux-wgqh:/usr/local/resources/mydata/myRPMs # pip3 install OpenCobolIDE –upgrade
Collecting OpenCobolIDE
Downloading OpenCobolIDE-4.7.6.tar.gz (12.9MB)
100% |????????????????????????????????| 12.9MB 20kB/s
Installing collected packages: OpenCobolIDE
Running install for OpenCobolIDE
Successfully installed OpenCobolIDE-4.7.6

The installation completed successfully, but ,when I tried to run it, I got a long list of errors as follows:

linux-wgqh:/home/Mario1 # opencobolide
Traceback (most recent call last):
File “/usr/lib/python3.4/site-packages/open_cobol_ide/extlibs/pyqode/qt/”, line 109, in autodetect
import PyQt5
ImportError: No module named ‘PyQt5’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/usr/lib/python3.4/site-packages/open_cobol_ide/extlibs/pyqode/qt/”, line 116, in autodetect
import PyQt4
ImportError: No module named ‘PyQt4’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/usr/lib/python3.4/site-packages/open_cobol_ide/extlibs/pyqode/qt/”, line 122, in autodetect
import PySide
ImportError: No module named ‘PySide’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/usr/bin/opencobolide”, line 9, in <module>
load_entry_point(‘OpenCobolIDE==4.7.6’, ‘gui_scripts’, ‘opencobolide’)()
File “/usr/lib/python3.4/site-packages/open_cobol_ide/”, line 29, in main
from pyqode.qt import QtGui
File “/usr/lib/python3.4/site-packages/open_cobol_ide/extlibs/pyqode/qt/”, line 156, in <module>
File “/usr/lib/python3.4/site-packages/open_cobol_ide/extlibs/pyqode/qt/”, line 126, in autodetect
raise PythonQtError(‘No Qt bindings could be found’)
pyqode.qt.PythonQtError: No Qt bindings could be found

There was obviously something missing and I tried to add to my OpnenSUSE installation also the python3-qt5 package  that I had not installed before, but that I saw mentioned in the article “3 open source projects for modern Cobol development”.

I then re-installed OpenSourceIDE with the command pip3 install OpenCobolIDE –upgrade.

This time the IDE seemed to work correctly, even if it produced the message:

Failed to find a working GNU Compiler

I noticed that there was a Preferences option in the IDE and I requested to use the defaults,
The error disappeared after my successful re-installation of gnucobol and now the IDE is fully working.

Installation of the Cobol Development Environment Plugin for Eclipse

I decided to check also this Cobol IDE for Eclipse.

First I installed eclipse by following the approach suggested in the article  Install Eclipse IDE on OpenSuse Leap 42

The installation took a while to complete, but worked perfectly without any special problem.

I found the Cobol Development Environment Plugin in the Eclipse Marketplace that can be found as an option in the Help menu of Eclipse.  I chose the Cobol Development Environment  0.1.4 solution and tied the Install button.
The installation started, but it soon stopped with the message:

No repository found at

It looks like the installation of this this product has not been updated for a while and the marketplace installation currently is not up to date.

It is something that I’m going to investigate in the future.

A Video on Using Cobol on Linux


Introduction to GNU Cobol (formerly OpenCobol)

Gnu Cobol (Formerly OpenCobol) by Sourceforge
OpenCobolIDE Documentation
GNU Cobol Manual
3 Open Source Projects for Modern Cobol Development

Be the first to comment - What do you think?
Posted by Mario1 - 28/02/2018 at 5:24 pm

Categories: Computer Languages   Tags:

Free Tutorials to Learn Java

Learn Java.

Learn JavaJava is a very successful object-oriented programming language created by James Gosling from Sun Microsystems (Sun) in 1991. Java has been developed with the target to write a program once and then run the  same program on multiple operating systems. The first publicly available version of Java (Java 1.0) was released in 1995. Sun Microsystems was acquired by the Oracle Corporation in 2010.  In 2006 Sun started to make Java available under the GNU General Public License (GPL). Oracle continues this project called OpenJDK.

Java is defined by a specification and consists of a programming language, a compiler, core libraries and a runtime environment (Java virtual machine)  The Java platform is usually associated with the Java virtual machine and the Java core libraries.

Recently I noticed some interesting online courses on Java and I suggest a few ones.

A Video to Learn Java in 30 Minutes

It is an interesting Video that describes the main concepts of the Java Programming Language,

Books to Learn Java

There are many good books to learn Java and I have selected a few ones from Amazon UK




A Computer Science Portal for Geeks
Introduction to Java programming – Tutorial
Free Tutorials Download – Java
Programming E-Books by Bruce Eckel
M256 – Software development with Java – Open University Course
How to Learn Java Programming


Be the first to comment - What do you think?
Posted by Mario1 - 16/08/2017 at 3:01 pm

Categories: Computer Languages, Programming, Training   Tags:

How to Learn Java Programming

The Java Programming Language

Java ProgrammingAccording to Wikipedia Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers write once, run anywhere (WORA) meaning that compiledJava code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture. As of 2016, Java is one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers. Java was originally developed by James Gosling at Sun Microsystems (which has since been acquired by Oracle Corporation<) and released in 1995 as a core component of Sun Microsystems’ Java platform. The language derives much of its syntax from C and C++, but it has fewer low-level facilities than either of them.

The original and reference implementation Java compilers, virtual machines, and class libraries were originally released by Sun under proprietary licences. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensed most of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin for applets).

The latest version is Java 8 which is the only version currently supported for free by Oracle, although earlier versions are supported both by Oracle and other companies on a commercial basis.


Learn Java Programming

There are many ways to learn Java programming. in addition to attending class course, such as:

  • Courses accessible through the Internet
  • Books on Java

We present below some options that we considered good and relatively inexpensive.


few interesting courses on the Internet accessible on the Internet are the following:


The Complete Java Developer Course by Udemy.


The course provides:

  • 64 hours on-demand video
  • 6 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Currently there is a special promotion that offers the full course for onl;y 10 Euros


Learn Java Onine

It is an interactive Tutorial that will teach you Java programming step by step


Books on Java

There are plenty of good books on Java Programming such as the following from Amazon UK;



A Video Tutorial on Java Programming


Programming E-Books by Bruce Eckel

Be the first to comment - What do you think?
Posted by Mario1 - 17/03/2017 at 3:30 pm

Categories: Computer Languages   Tags: ,

Learning C Tutorial

Learning C Tutorial.

c-languageThe C programming language is one of the oldest programming languages, but is still widely used today..

I recently read an interesting tutorial  on the  website and I have re-published below for your convenience the introduction.


Welcome to the free interactive C tutorial.

Whether you are an experienced programmer or not, this website is intended for everyone who wishes to learn the C programming language.

There is no need to download anything – Just click on the chapter you wish to begin from, and follow the instructions. Good luck! is still under construction – If you wish to contribute tutorials, please click on Contributing Tutorials down below.

Table of Contents

Learn the Basics


Contributing Tutorials

Read more here: Contributing Tutorials

A Video Tutorial on C Programming for Beginners





Be the first to comment - What do you think?
Posted by Mario1 - 18/10/2016 at 5:19 pm

Categories: Computer Languages   Tags: ,

IBM i CL Programs Modernisation

CL Programs Modernisation

AS400 Remote AccessThe IBM i, i.e the current incarnation of the very successful IBM AS/400 midrange computers has had many improvements from the original AS/400 systems with which has kept  full compatibility.

Many installations try to apply improvement also to the application in a process known as application modernisation and programmers have move from the RPG II to RPG III to RPG iV and then RPG/Free.

Fewer changes are mentioned about the Control Language, known as CL, but I recently read an interesting article on the website. I think that is pretty good and I have decided to re-publish it below for your convenience.

Modernize your CL too

spent the end of last week assisting my colleagues with a project that involved creating CL programs, and over the weekend I was asked to check someone’s CL code. In both cases I was disappointed to find that while these individuals have modernized their RPG skills, their CL skills are still date back to the 20th century.

In my opinion CL is a programming language which is undervalued in IBM i circles. I have met many developers who would rather use a complicated API in their RPG code, rather than use a simple CL command. It is time for everyone to look at all the tools that are available in IBM i, rather than limit themselves to just be a “RPG programmer“.

Here are some of the things I think we should all do with our CL code.


CLLE, no more CLP

RPGLE was not the only ILE capable language that came out in V3R1, in 1994. ILE CL, CLLE, joined the party at the same time.

It is easy to convert a CLP source member to a CLLE some, just change the member type. The only command that I can think of that does not convert to CLLE is the Transfer Control command, TFRCTL, which can easily be replaced by a CALL command.

If you keep your source types in separate source files, you do not have to create another source file. CLLE member go in the QCLSRC source file.



One of the excuses I hear why people will not convert their source to CLLE is you cannot use the Retrieve CL Source command, RTVCLSRC. While that was valid for years, it is no longer so.

As part of IBM i 7.1 the RTVCLSRC command was enhanced to retrieve the source from CLLE programs and modules.


No more GOTO, use Do-loops

I am sure you use Do-loops in your RPG code, and shun Goto. It is time to do the same in your CL. DOWHILE, DOUNTIL, and DOFOR are all ready and waiting for you.



I cannot think of RPG without subroutines. You can do them in CL too, and the same principals apply. Rather than repeat code or call another CL program to do what you want use a subroutine.


No more nested Ifs, use Select

We have all seen blocks of code in CL of If statements where they are all executed despite only one being relevant. In 2004 V5R3 brought CL the SELECT command. It has the same functionality as the Select operation code in RPG. Use it as it will make your CL code less complicated and easier to follow.


Data structures

You can define and use the equivalent of data structures in CL. It it is easier, and faster, to use them rather than substring-ing the same string out of a larger variable every time you need it.


New BiFs

With IBM i 7.2 several new Built in Functions, BiFs, were introduced to make it easier to do some string handling in CL. I no longer have to call a RPG program or write many lines CL code to do the following:


You can write, update and delete records

Someone once said to me he could not take any programming language seriously if he could not write and update a file using it. By using the Run SQL Statement command, RUNSQL, I can do all of that.

Here are examples showing how it is possible, in CL, to delete a row/record from a table/file, add a row/record, and change it:

01  PGM


                 WHERE F1 = ''' || &VAR1 |<''' ') +

                VALUES (''' || &VAR1 |< ''',DEFAULT)') +
                   SET F2 = ''' || &VAR2 |< ''' +
                 WHERE F1 = ''' || &VAR1 |< ''' ') +



CL procedures

Most of the examples I have seen of procedures show RPG. It is possible to create CL procedures, and to use CL commands rather than complicated APIs to do the things CL does best.


Now you have seen that some of the biggest myths about CL have been busted. It is time to embrace modern CL and start using it in a 21st century manner.




IBM i Control Language – Wikipedia, the free encyclopedia

Control Language Programming



Be the first to comment - What do you think?
Posted by Mario1 - 17/08/2016 at 3:28 pm

Categories: AS/400 Software, Computer Languages   Tags:

How to Learn Cobol for the IBM i (AS/400)

Why Should You Learn Cobol?

Cobol ProgrammingCobol is one of the oldest language that is still used to power up a large number of applications for finance, production, distribution and many other industrial sectors.

Cobol has been used on the IBM i mainly by large companies that use or had used it with mainframe applications.

Since it is so widely used, you would increase your chances of finding a good employment by adding it to your baggage of skills, even if currently most people want to learn more modern languages such as Java, PHP etc.

According to Wikipedia “COBOL (/?ko?b?l/, an acronym for common business-oriented language) is a compiled English-like computer programming language designed for business use. It is imperative, procedural and, since 2002, object-oriented. COBOL is primarily used in business, finance, and administrative systems for companies and governments. COBOL is still widely used in legacy applications deployed on mainframe computers, such as large-scale batch and transaction processing jobs. But due to its declining popularity and the retirement of experienced COBOL programmers, programs are being migrated to new platforms, rewritten in modern languages or replaced with software packages. Most programming in COBOL is now purely to maintain existing applications.

COBOL was designed in 1959, by CODASYL and was partly based on previous programming language design work by Grace Hopper, commonly referred to as “the (grand)mother of COBOL”. It was created as part of a US Department of Defense effort to create a portable programming language for data processing. Intended as a stopgap, the Department of Defense promptly forced computer manufacturers to provide it, resulting in its widespread adoption. It was standardized in 1968 and has since been revised four times. Expansions include support for structured and object-oriented programming. The current standard is ISO/IEC 1989:2014″.

According to a Microfocus article theTop 10 Reasons to Learn COBOL are mainly  the following:

1. COBOL is easy!

2. You can run it anywhere you like

3. It will work tomorrow as well as it does today

4. It gets the numbers right!

5. You can use it with your favourite IDE

6. You can get to your data fast

7. You don’t need to spend hours on documentation

8. It’s fast!

9. It integrates with everything

10. COBOL is everywhere!


The IBM i (AS/400) Cobol

IBM i (AS/400)Cobol on the AS/400, which is now known as IBM i is a standard Cobol 85 with some extensions that use the advantages of the AS/400 integrated environment and of the files external definitions.

The language has moved from the Original Program Model (OPM) to the Integrated Language Environment (ILE) that instead of producing runnable  programs creates object modules that can be bound together to create a program.

If you already have some knowledge of Cobol and want to learn the IBM i (AS/400) version, I suggest that you consider an e-book that I have written with the aim to use some actual Cobol programs to support the learning process, as described below:




Retail Value: 14.97

AS/400 (iSeries) CL and RPG ILE Training by Example
by Mario Pesce  

This e-book offers a progressive training on the AS/400 (iSeries) CL and RPG languages. It uses a real life application to investigate the latest ILE options and develop your skills..

It starts with simple programs and then examines more advanced concepts such as subfiles programming, use of message subfiles, use of embedded SQL, development of ILE modules and binding into programs and service programs .



The e-book assumes that you have already some knowledge of Cobol.

If you haven’t, I suggest to start by reading some good books on Cobol such as those available  at Amazon that you can see below:


An Introductory Video to Cobol


College students who learn COBOL make more money …

ILE COBOL Programmer’s Guide – FTP Directory Listing

WebSphere Development Studio: ILE COBOL Reference

ILE Cobol/400 Hints and Helps | RPG Programming content



Be the first to comment - What do you think?
Posted by Mario1 - 18/02/2016 at 1:49 pm

Categories: Computer Languages, Ebooks   Tags:

How to Learn Python

The Python Programming Language

Python ProgrammingPython, according to Wikipedia,”is a widely used General purpose programming anguage, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java. The language provides constructs intended to enable clear programs on both a small and large scale.

Python supports multiple programming paradigms, including object-oriented, imperative and functional programming or procedural styles. It features a dynamic type system and automatic memory management and has a large and comprehensive standard library.”

Python was conceived in the late 1980s, and its implementation was started in December 1989 by Guido van Rossum at CWI in the Netherlands as a successor to the ABC language (itself inspired by SETL)] capable of exception handling and interfacing with the Amoeba operating system. Van Rossum is Python’s principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, benevolent dictator for life (BDFL).
The core philosophy of the language is summarized by the document “PEP 20 (The Zen of Python)”, which includes aphorisms such as:

  • Beautiful is better than ugly
  • Explicit is better than implicit
  • Simple is better than complex
  • Complex is better than complicated
  • Readability counts


Learn Python

There is plenty of materials to learn Python.

In this article I will mention

  1. Learn Python Interactive Tutorial
  2. Python tutorials at IBM developerWorks
  3. Starting up with Python series



A Video Tutorial on Python

Some Books on Python

There are many books on Python and you will find below a few from Amazon UK

Be the first to comment - What do you think?
Posted by Mario1 - 15/02/2016 at 11:08 am

Categories: Computer Languages   Tags:

Best Programming Languages

Best Programming Languages

I read an interesting article recently published on the website that presents a list of the best programming languages in 2016 and I have re-published it below for your convenience.

Best Programming Languages to learn in 2016

Linux vs UnixIt’s the start of a new year, so it’s natural to start thinking about your future life and career choices. I’ve been analyzing ‘best language’ statistics for several years, and we’ve seen reporting systems rise and fall. GitHut — one of my favorites — has not been updated since 2014. There are still a few around, so let’s look at the most recent data.
TIOBE Index, January 2016

TIOBE’s latest report assesses the popularity of programming languages using the number of skilled engineers and search engine rankings. The results:

Assembly Language

TIOBE states their chart is not an indicator of suitability or the number of lines written. Some languages rise because they’re still used and are relatively older than others. There are a few surprises: is VisualBasic still popular? It’s rarely used by professional developers, but it could be that many people use it for simple ad-hoc applications. That said, I don’t know of anyone who’s used assembly language for many, many years?
DevPost Student Hackers Report, January 2016

The DevPost report analyzes the work of 13,281 students participating on almost 10,000 projects during the 2014-2015 academic year. The results show technologies used, although it’s intermingled with programming languages:


The results mostly highlight what students are working on in their spare time. The projects tend to be dominated by native apps, embedded micro-controllers and wearables, which can be fairly niche technologies in the business world. In addition, these are languages the students wanted to use. Whether they were viable or pleasurable is another matter!
Learn to Program Today!

I’m going to state this clearly. Again:

never choose a language from survey results

It would be like choosing to live in a particular town because it has a higher population than others. These statistics are interesting, but they don’t help you pick the most appropriate language for your situation, project requirements or career objectives.

Forget choosing a language and start coding in something. It doesn’t matter what you choose. Learn the basic concepts and the majority of other languages become just an alternative syntax.
…but Don’t Expect to Become Proficient Immediately

Developers often make coding look easy — but anything seems easy once you’ve learned it. Unfortunately, our industry has a tendency to underestimate the challenge.

Have you ever seen books or courses titled “Learn Aeronautical Engineering in 21 Days” or “Bridge Construction for Idiots”? Of course not, yet good developers will spend just as long learning their craft. The primary difference is that development has a lower barrier to entry, and you’re less likely to hurt anyone with shoddy code … unless your software is used to design aircraft or bridges!

Coding is difficult. You’ll be able to create a few simple programs within days, but you’ll need many months’ knowledge to confidently tackle a large application. Most professional jobs require several years of solid experience. Even then, you’re always learning. We all look back at carefully constructed programs developed six months ago and think “who wrote that nonsense?”
Can You Become a Developer?

Absolutely — but relatively few people will. If the job was easy, developer demand would never exceed supply. However, I do not believe developers are born with innate coding skills. Anyone can learn to program. Just like anyone can learn to play the guitar or speak Japanese … if they’re prepared to put the effort in.

The key is passion. If you’re excited about seeing your name on-screen or moving a green blob from one point to another, programming could be for you. The best developers are motivated by tasks and are mostly self-taught. Education, books and courses will help, but you only learn coding by doing it.
Where Should I Start?
More from this author

Browser Trends January 2016: 12 Month Review
10 Web Predictions for 2016

SitePoint is primarily a web development resource, but the web is a hostile environment for beginners. Even if you concentrate on client-side development, you won’t get far without some knowledge of browsers, HTML and CSS (they’re not programming languages and are considerably more quirky!) Here are solid introductions to HTML and CSS from our Premium content collection.

Native OS development in something like Java or C# isn’t much easier. There may be fewer dependencies, but many novices are bamboozled by the IDEs and tools required to get going. A lengthy compile step — which translates your code into something the computer can understand — isn’t conducive to learning.

An interpreted language such as Python, Ruby (we have a great intro) or JavaScript (in Node.js) (ditto) may be a better option, but some are daunted by the command line. It’s also difficult to create anything graphically interesting to hold your excitement.

Modern development environments are complex, and the initial learning curve is steep. I’m showing my age, but I consider myself fortunate to have learned coding on a ZX Spectrum in Sinclair BASIC. The choice was limited — as was the memory and capabilities — but it allowed me to grasp the basics (of BASIC and coding) without getting bogged down in a stack of related technologies.

We’ll never return to the simpler 8-bit days, but there are a number of BASIC environments which could help introduce you to the concepts of code structure, variables, looping and branching, e.g. Basic for Qt, SmallBasic, Basic256 or the ancient QBasic. Snobbier developers berate BASIC because it can teach bad practices, but writing a few lines of terrible code will teach you more than writing none.
Can I Become a Great Coder?

Yes — in time. The best coders go through several phases on their programming journey:

The “I know nothing” phase
Everything is new, nothing is easy.
The “it’s starting to make sense” phase
You’ve written a few programs and are making fewer mistakes.
The “I’m invincible” phase
Your confidence matches your competence. No challenge seems too difficult.
The “I know nothing” phase, part II
The sudden realization that development is infinitely more complex and you begin to doubt your own abilities.
The “I know a bit and that’s OK” phase
You have decent coding skills but recognize your limitations and can find solutions to most problems (even if that means hiring another developer).

In my experience, the primary difference between good developers and great developers is curiosity. A great developer is never content to glue pre-written components together. They want to understand how things work. Completing a task in the quickest possible time is of lesser importance.

Consider writing your own libraries before using someone else’s work. For example, write your own JavaScript DOM manipulation functions or PHP database connectivity objects. Using jQuery or an ORM will allow you to produce something faster, but understanding the underlying technology is invaluable. Code re-use becomes increasingly important, but don’t be afraid to delve deeper while you’re learning.

Finally, never be afraid of picking the wrong language … there are no wrong ones. There are those that aren’t best suited to a specific project, but you’ll only discover that by trial and error. Pick an interesting project, choose any language and get going.

Best of luck!

Here at SitePoint, helping people learn web development is kinda our thing. If this article has sparked a passion to get learning, head on over to SitePoint Premium and start your journey with us!


Craig Buckler
Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he’s been advocating standards, accessibility, and best-practice HTML5 techniques. He’s written more than 1,000 articles for SitePoint and you can find him @craigbuckler

A Video on the Best Programming Languages to Learn in 2016


Both the article and the video present interesting list of languages, but I would like to add my own idea,

Most people learn modern languages such as Java, PHP etc, but the market still needs programmers for old languages such as Cobol and RPG that have been used to develop many applications that still are necessary for banks, industries, administrations etc.

Many of the old programmers have retired and it’s sometimes difficult to dind people with the skills to replace them.

Therefore I would suggest that learning also this languages could be a real help to find a good job.

I have published my own e-books about this languages and you can order them through the links below:

AS/400 (iSeries) CL and COBOL ILE Training by Example

AS/400 (iSeries) CL and RPG ILE Training by Example






Be the first to comment - What do you think?
Posted by Mario1 - 22/01/2016 at 1:24 pm

Categories: Computer Languages   Tags:

Learn PHP and MySQL


PHP and MySQLI noticed recently an interesting message on Linkedln about a course that teaches PHP and MySQL from scratch. The course is priced very reasonably but you can get a further discount by using the coupon number mentioned in the message.

If you are an RPG programmer and you are interested in PHP consider also the book on the right.

I copy below for your convenience the course page by Edunix:

PHP and MySQL Course Description

Our course on PHP-MYSQL will provide quick and focused training in PHP and MySQL which are arguably the most popular web development tool out there. You will start with basic PHP and will follow it up with a comprehensive training in MySQL. You will also build a complete web application from scratch using the concepts learned in this course.

Like all our other courses we have kept the content fun and we are sure it will be a enjoyable learning experience for you. So why wait be the expert web developer you always wanted to be!!

  • The course content will be deliverd as download links in your email. You can download the content and use it as per your time and schedule.
  • There is no time limit to complete your course
  • Money Back Guarantee Policy. All our course comes with one month 100% money back guarantee. If you don’t like the course then get your money back with in one month. No questions will be asked.

SECTION 1: Introduction to PHP

1 Introduction to the Course
2 PHP Fundamentals
3 Environment Setup


4 PHP Variables and Arrays
5 PHP Loops

SECTION 3: Advanced PHP

6 PHP Functions and Including
7 PHP Conditionals and RegEx


9MySQL Fundamentals
10 PHPMyAdmin And SQL Querying
11 Connect PHP to MySQL & Fetch Data

SECTION 5: Advanced MySQL

12 PHP, MySQL and HTML Forms
13 Object Oriented MySQLi
14 PDO & Prep Statements
15 Chapter 5 Project Part I
16 Chapter 5 Project Part II
17  Summary


Be the first to comment - What do you think?
Posted by Mario1 - 19/12/2014 at 1:26 pm

Categories: Computer Languages   Tags:

Master Java Programming Building Ten Projects

Master Java Programming

Java TrainingI noticed an interesting course on the website that offers Java training based on building 10 different projects. The practical approach is interesting and the discounted price is exceptional,

I have re-published the original article below and I invite you to give it your attention.

Projects in Java

Master Java Programming Building Ten Projects

Java is the world most popular language and it powers billions of devices and systems worldwide. It is one of the most sought after programming skill and provide ample jobs and freelance opportunities. We bring together best of Java training with our unique offering where you will learn the most of the popular java APIs building ten assorted projects. It will help you learn the correct use of Java API along with best development practices.

Project 1: Media Player

Objectives: Create a media player using JavaFX with Sliders and JavaFX menus. The media player will be able to play audio files and video. Sliders will control the position in the media and the level of the volume.

Project 2: Game

Objectives: Manipulate Images with user input and collisions. Threads will be used to update image positions to create animation. KeyListeners will be used to update a position of a piece in the game.

Project 3: Messenger

Objectives: Create GUI using swing objects and use Java dot net to pass messages to and from clients. A server will run waiting for messages from clients. Users can login with a client by choosing a username. The server will send login and logout prompts to all logged in users.

Project 4: Database Explorer

Objectives: Continue to use Swing objects to create GUIs. Use MySQL drivers to connect and execute queries on a database. Information retrieved will be stored and displayed in JTable.

Project 5: Akka

Objectives: Use Akka to create a workload distribution system using Actors. An Actor System will create actors to process a range of numbers to check for primes. Akka will be used to utilize system resources more effectively.

Project 6: TextEditor

Objectives: Open and save files using a GUI. A CardLayout will be used to switch between the menus. User passwords will be encrypted and then stored. When a user logs in the input password will be encrypted and checked against the stored password.

Project 7: Servlets

Objectives: Create servlets to convert the TextEditor project into an applet. Servlets will work to save and read information from server. The servlets will also verify a user’s login information and create a session. An apache server will be setup to host the applet and a Tomcat server will host the servlets.

Project 8: Maven Projects

Objectives: Convert existing projects into Maven projects to handle dependencies easier. Create a local repository and create an Archetype to start a new project. The local repository will store a private project to be a dependency for another project.

Project 9: Camera

Objectives: Use OpenCV to access camera devices on the pc. Save screenshot to a file. Use OpenCV classifiers to enable face detections.

Project 10: Website Parser

Objectives: Use Jsoup to parse elements from a website. Different elements will be stored in tabbed panes and have clickable urls that will launch a browser.


The course sells normally for $ 199 but there is currently a special offer with a 90% discount that allows you to access it for just $ 19

Click here to take the Projects in Java course

1 comment - What do you think?
Posted by Mario1 - 02/12/2014 at 2:41 pm

Categories: Computer Languages, Training   Tags:

Next Page »