Weekly Computing Idea
Sunday, September 3, 2017
The Prominent Programming Languages
Ladies and gentlemen, I'm glad to elaborate on an interesting yet unclear question: which programming languages will offer the most jobs in the next 5 years or so. In other words: if you are a fresh college graduate or in a turning point of your career, which programming languages should you put an emphasis on in order to maximize your job prospects.
I'll answer this question in division to the most prominent fields of programming today:
1. Web sites: PHP - server scripting language i.e scripts which run on the server and respond to the user who browses internet. When you log in to your bank account, you need the bank's server to communicate with you, and this is done by PHP scripts running on the server. Obviously, because most of the web communication requires server scripts, the need for PHP knowledge is expected to be constant.
2. Mobile app: Android - iOS fans, I'm sorry to let you down, but the world is going for the Android side. The reason: Android is free and that's crucial for mobile customers in the developing world, which is most of the humanity. On the other hand, the vast thrust power of Google delivers Android to huge markets, and except of Windows, there is no real opponent to Google's domination.
So: Java is the main programming language for Android applications.
3. Windows software - Many of us dislike Windows as an operating system, and for a good reason. But there's no debate that Windows holds the lion share of the market. Most of the development for PC computers is done for Windows. And what is the programming language (and environment)? C# (C Sharp) with the Visual Studio development environment.
So what are you waiting for? Start coding now!
Monday, July 31, 2017
Cloud Computing - is it Rainy Today?..
The term basically refers to performing computing activities online instead of offline (using the computer's hardware). it means that individuals or organizations lease remote memory space and software , that are stored away from their physical location, and use them through the internet. <br />
<br />
The basic advantage of this model is that the customer doesn't have to purchase in advance software or memory space, but purchases them on demand only and for the extent he/she may need. This feature often saves a significant portion of the computing costs of an organization.<br />
<br />
<br />
The basic types of service available on Cloud Computing:<br />
<br />
<br />
First, Sotfware-as-Service (SAAS), which refers to the use of computer programs installed on the supplier's servers, and the user makes use of them through the internet. Prominent SAAS software examples: Gmail, online gaming.<br />
<br />
<br />
Second, Infrastructure-as-service (IAAS), which refers to use of memory space of the supplier by the user. Prominent examples: site hosting, backup storage.<br />
<br />
<br />
Third, Platform-as-Service (PAAS), which refers to the use of developing platforms by the user in the process of writing and testing software, such as: Linux emulators, online compilers.<br />
<br />
<br />
The financial cost reduction using Cloud Computing derives from several factors:<br />
<br />
<br />
First, no need of purchasing expensive hardware devices, such as: servers.<br />
<br />
<br />
Second, no need of purchasing in advance expensive software products, such as: operating systems, Integrated Development Environment (IDE).<br />
<br />
<br />
Third, no need of hiring local maintenance experts for the software and hardware.<br />
<br />
<br />
Fourth, no need to deal with disaster relief procedures, as the supplier deals with it.<br />
<br />
<br />
Fifth, no limit of resources availability. for example. if there's a shortage of memory space, there's a possibility of purchasing additional small size memory.<br />
<br />
<br />
Sixth, no dependency on a specific location where software products are installed.<br />
<br />
<br />
The shortcomings of Cloud Computing can be roughly divided into the following:<br />
<br />
<br />
First, dependency on the supplier. The latter may run bankrupt or have many operational failures. In such a case, the user can't do anything to prevent his own setback.<br />
<br />
<br />
Second, possible security holes regarding the employees of the supplier, who may cause damage to the user's data.<br />
<br />
<br />
Third, difficulty in communication between software products which are located on many different servers. For instance, SQL database that has to communicate with a web script held on another server.<br />
<br />
<br />
<br />
Fourth, difficulty in managing software platform without the ability to access the hardware (because it belongs to the supplier). For example, running a disk compression may be necessary for a software running but the user isn't permitted to do that.<br />
<br />
<br />
Prominent Cloud Computing suppliers include:<br />
<br />
<br />
1. Elastic Compute Cloud (EC2) of Amazon - The most well-known service, which allows memory space & infrastructure software leasing.<br />
<br />
2. App Engine of Google, which allows development & testing of Java/pythons application on remote servers.<br />
<br />
3. Azure of Microsoft - which allows mainly platforms for online development of software.<br />
<br />
<br />
Summary, Cloud Computing is here to stay, but due to its vulnerability concerning security, I believe that the move of organization to work with this model is going to take more than a few years.
Saturday, July 29, 2017
Free Alternatives to Microsoft Office
Today I'm going to talk a beat about the new born baby - Apple's iPad. Who really needs this toy and what can it really do?
1. Reading articles or books - iPad's screen is large and clear enough to let you read web articles, e-books or PDF/Word documents. You'll not have to ruin your eyes or suffer in any other way.
2. Games - There's a reasonably wide variety of games for iPad and it can be a substitute to game consoles (like Nintendo) for light-gamers. However, it's early to relate to iPad as a substitute to the desktop PC.
3. TV & movies - you can watch TV or videos in a reasonable quality. I wouldn't bet on it replacing your 50 inch plasma TV, but as a little TV it can do great.
4. Presenting presentations - if you need to present Powerpoint presentations outside your office or something similar, the iPad can replace a laptop and make it easier for you.
5. Basic web usage - it can replace a laptop in basic web functions, like: email, Facebook and more. It doesn't suffer from special communication troubles that may harass the web usage, and the screen is large enough not to cause you much misery.
6. Long usage without battery charging - iPad can reach 10 hours of active usage without charging, which is much longer than an average laptop.
The downsides of iPad must be taken into account:
1. iPad's screen isn't successfully suitable for usage outdoors, and you may suffer from using it at the beach or at a picnic.
2. iPad was created by nerds and it's itself a nerd: smart,skinny and fragile. Daily usage by young kids or messing otherwise with it should make its days shorter & shorter.
3. iPad isn't widely perceived as an attractive instrument, and its functionality is much better than its looks. So it might not be the ultimate purchase for making you cool.
4. iPad (as an Apple product) doesn't support Flash, which may be a nuisance for some users.
5. Above all - iPad isn't a PC: which means that you shouldn't expect it to be more than it's meant to be: a partial substitute to a laptop.
Subscribe to:
Posts (Atom)