Altabel Group's Blog

Posts Tagged ‘Gmail

Debates about which programming language is the best are always hard and heated. Likewise, there’s no ideal language that works for all web application project requirements. Wikipedia is written in PHP. Gmail is written in Java. Python is number one choice of Google and YouTube. Ruby is used to create Twitter and Hulu. Slashdot is written in Perl. Stackoverflow is written in C#.

Browsing for the best web programming languages, among dynamic ones, you’ll mostly see PHP, Python and Ruby listed. Back in the days several years ago PHP was admitted the best tool for web job but since then both Python and Ruby have matured and grown robust libraries and frameworks around them that make them better candidates for many web projects now.

Today many consider PHP to be great for average everyday web systems. Python and Ruby are thought to be more suitable than PHP for most web applications in general and for more advanced things in particular. Just like PHP, they are free, open source, run on an open source stack (Apache and Nginx / linux, windows and BSD), and play well with any database engine. However, Ruby and Python have better syntax and they both enforce good programming habits by their nature, especially Python. PHP encourages sloppy spaghetti code by its nature. Also, the object oriented features in PHP are very ugly because of its arcane, retarded syntax.

Let’s get deeper insights into these two web programming languages from various standpoints:

As mentioned before, Python and Ruby are two of the most popular dynamic programming languages used in high level application development. In fact, Ruby was built using some of the design elements from Python. Developers often prototype using these two languages before implementing on compiled languages because of their modularity and object oriented features. Many use Python or Ruby instead of Perl as simple scripting languages. Python and Ruby are popular among web developers as well because of their rapid development cycle, with Python boasting computation efficiencies and Ruby boasting code design.

a/ Philosophy
Python really believes that code readability is the most important thing. Hence, there is one-true way of writing code, or as it has been reformulated lately: “There’s a most understandable way to do something and that is how it should be done”. Python is designed to strongly emphasize programmer productivity and it likes things to be structured, consistent, and simple. Python syntax enforces strict indentation rules; in fact, indentation has semantic meaning in Python.
Ruby believes in giving programmer the flexibility, freedom and power. It was designed, first and foremost, to make programming fun for its creator, with guiding concepts as follow: “The Principle of Least Surprise” and “There’s more than one way to do the same thing”. The latter philosophy principle inherited from Perl is the reason why many Ruby methods have alternate names, which may lead to some API confusion among new practitioners. However, this flexibility enables Ruby to be used as a meta language for describing DSL. Also Ruby provides a better way to write concise and compact code. More into the expressiveness of the code and writing code that is clever.
Python people like libraries to be transparent and obvious how they work and hence is easier to learn, while Ruby people tend to provide clean and pretty interfaces with “magic” behind the scenes. This makes development very fast when you understand the magic, but frustrating when you don’t.

b/ Ease of Use
Python is known for its ease of use. It allows beginners to start building powerful sites more quickly, and has the power to grow in complexity keeping its ease of comprehension. For example, one of the hardest parts of coding is going back to what you coded long ago and trying to remember the logic of it. Because Python uses natural language with white spaces and indenting, it is much more clear and easier to read than languages like Ruby. That makes it easier to fix mistakes or do updates. Also, there are literally thousands of pre-built modules that can be snapped on to let you get up and running on the web immediately. Its intuitive introduction to object-oriented coding concepts, such as communities, modules, and libraries, allows you to move on to other related programming languages as they develop.

c/ Object Oriented Programming
Both Python and Ruby support object oriented programming. Still Ruby’s object orientation is considered to be more ‘pure’ in that all functions exist inside a class of some sort. Python’s object orientation is more akin to that of C++, which allows functions and statements that exist outside of classes. In Ruby, even global variables are actually embedded within the ObjectSpace object. Python doesn’t have global variables, instead using attributes of module objects. In Python and Ruby, an instance of literally any type is an object. However, where in Ruby all functions and most operators are in fact methods of an object, in Python functions are first-class objects themselves.

d/ Syntax
Ruby includes several syntactic features which make dynamic extension of and higher-order interaction with external (library) code more straightforward. In particular these are blocks and mix-ins. Most things implementable with block and mix-in syntax are also achievable in Python, they are simply less syntactically natural and clear, and so less commonly form the centerpiece of major libraries or common styles of programming. These features, combined with a lighter-weight syntax with fewer restrictions (whitespace flexibility, optional parentheses, etc), make Ruby more suitable to pervasive and relatively transparent use of metaprogramming.
At the same time, while this flexibility and the Ruby community’s tendency to use it for metaprogramming can facilitate aesthetically pleasing code, they can also create stylistic variation in how the language is used, and obscure the mechanisms by which code actually works. Python’s more restrictive syntax is intentionally designed to steer developers towards one canonical “pythonic” style to improve accessibility and comprehension.

e/ Style
Ruby code is organized into blocks, with blocks starting with various constructs and ending with the keyword “end”. Python code is indentation-sensitive, with successively larger indentation meaning tighter (nested) scopes. Python’s syntax has been described as executable pseudocode.

f/ Functional Programming
Both languages support some functional programming constructs, but Ruby is arguably better suited to a functional programming style. Lambdas in Python are generally very short, because lambdas in Python are restricted to expressions and cannot contain statements. Ruby’s lambda support is far more flexible, allowing for lambda expressions of arbitrary length.

g/ Speed
The standard CPython implementation is generally regarded as executing code slightly faster than Ruby.If speed is really an issue for a Python project, you also have the option to use Cython, Pyrex,Pypy (JIT) or the ShedSkin tools to compile your code into C or C++.

j/ Features
Both Python and Ruby are high level application development languages. Each of them is estimated to have a Capers Jones language level of at least 15. Both languages promote test driven development.
Both languages have full Unicode support, although the way that support is implemented varies. Python distinguishes between “Unicode strings” and “byte-strings”. Ruby, on the other hand, treats all strings as byte-strings with a semi-hidden flag which causes problems when dealing with badly-encoded data from third-party sources.
Both Python and Ruby support multithreading. Python has the Global Interpreter Lock (GIL), which negates much of the potential advantage of using threads; Ruby has a comparable Global VM Lock (GVL).
There are a number of functions that are available by default in Ruby but for which in Python it is necessary to import a module from the standard library. Python supports generators and generator expressions.

k/ Community
There are great communities behind both frameworks. Some people believe that Python has a more developed community in terms of libraries suited for data analysis, machine learning, natural language processing, scientific libraries. As for community folks, Python ones are believed to be conservative and afraid of change, while Ruby guys welcome changes and love new shiny stuff even if it breaks older things. Consequently, Python world is more stable, and you can update your installation without much troubles, but that also means new technology is only added very slowly.

l/ Frameworks
There are a number of Web frameworks based on both Ruby and Python. The most notable and leading are Ruby on Rails (Ruby) and Django (Python) based on MVC. Django is more declarative, with it you’ll have a clearer understanding of what’s actually going on. It lets you specify most configuration details yourself. Django creates a much simpler project structure. On the other hand, the centerpiece of Rails’s philosophy is called convention over configuration. Rails provides you with more defaults.

m/ Popularity
Python is generally more widely used than Ruby, according to most measures, but in the wake of the rising popularity of the Ruby on Rails Web application development framework Ruby’s popularity too has seen rapid growth.
Python is more mature general purpose nature vs Ruby’s more niche (Rails) usage. Python is stronger and sees use in automating system administration and software development, web application development, data manipulation, analyzing scientific data (with help of numpy, scipy, and matplotlib modules), biostatistics, and teaching introductory computer science and programming. Ruby+Rails holds a slight edge over Python+Django for web development and sees use in general programming, and has more mindshare.
In terms of cloud deployment, Python can run on Google-Cloud (Google-App engine). Though Ruby has very strong cloud deployment options in the shape of Heroku and Engine Yard.

Would you prefer Python or Ruby over PHP for implementation of your web project? And is it indeed a philosophy that you chose while selecting between Python and Ruby? Interested to hear your thoughts.

Helen Boyarchuk

Helen Boyarchuk
Helen.Boyarchuk@altabel.com
Skype ID: helen_boyarchuk
Business Development Manager (LI page)
Altabel Group – Professional Software Development

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

We all use cloud services in one way or another. When you access your Gmail, use Facebook and store photos online, you are actually leveraging cloud services. For small businesses, saving money, increasing productivity and enhancing uptime are some of the major reasons why a move toward the cloud computing platforms available today should be given priority. Regardless of what industry you are in, there are enough cloud computing tools to help you run your company in the cloud.

1. Harvest
Harvest is a time-tracking and online invoicing cloud service. It offers users the ability to see a distributed visual report of a company’s resources. With Harvest, you can create online invoices, bill clients, get paid online and view employee and contractor timesheets. Harvest also offers detailed data reports that can be filtered by project, staff and in other ways. You can then determine how time is being spent, which easily helps to manage projects. The time-tracking feature is especially handy when working on time-sensitive projects or projects that are paid on an hourly basis. Time tracking using Harvest can be done anytime and anywhere. You can even track time via your mobile device, widgets, Twitter or Gmail.

2. Carbonite
If you deal with large amounts of data that need to be backed up frequently, then Carbonite is a handy cloud platform to easily manage your backups. It works for multiple computers within a small organization and keeps track of each computer that is running the application. Once installed, Carbonite does all the backing up in the background for each computer every time it detects an Internet connection. Restoring backed up files is as easy as backing them up. With a few mouse clicks, files are restored to their original computers or to another designated drive. A browser-based dashboard lets you monitor the backup status of each computer in your organization.

3. ZenDesk
ZenDesk is a customer help cloud platform that lets you centralize your customer conversations making it easy to offer support services. It offers ticket management, reporting and analytics tools, self service, branding & integration services and tools to make the customer experience quick, efficient and more manageable. Ticket management is especially critical to a business since it helps to quickly identify high-priority issues and respond to them, automate certain responses and collaborate with others. ZenDesk allows a user to monitor support trends, ticket volume metrics and analyze customer satisfaction ratings to better provide support to clients. ZenDesk also integrates with other products to provide a seamless experience across your organization.

In addition to the above platforms, Google and Microsoft have created their own cloud tools and services, and integrated them with their already existing services. When selecting a cloud computing platform, determine your industry, customers and employees and choose a platform that will result into a smooth seamless transition and that will most effectively serve the needs of all three.

Kind Regards,
Lina Deveikyte
Altabel Group – Professional Software Development

According to Statcounter numbers and charts, Google Chrome should be the number 1 browser in the world as soon as this year. Let’s see what LI members think about this prediction.

«No. Good old IE has plenty of mileage left yet, and because it is a “known platform” will continue to be a standard in much of the business world for at least a few years yet.»
Bernard Gore,
Project & Change expert

«According to statistics available, it is unlikely that IE will be knocked off the top spot in 2012, even though Chrome has seen a meteoric rise in usage in 2011.
In Jan 2011, IE accounted for 46% of all Internet browsing, by Dec this had dropped to 38.65%.
Meanwhile, Chrome rose from 15.68% in Jan to 27.27% by Dec, trouncing Firefox into third place with its market share changing from 30.68% in Jan to 25.27% in Dec.
Other browsers, including Safari and Opera remain minnows in comparison. Mobile browsers (which are not included in the figures above) doubled from 4.3% in January to 8.03% in December.
However, it should be acknowledged that these statistics are far from an accurate representation of the true market share of the various browsers, as the statistics are usually taken from a small range of web site visitors and often visitors’ browsers cannot be sniffed by the methods in use. Remember that there are a huge number of corporate users of IE around the world that will continue to use IE for the foreseeable future.»
Glenn Reffin,
Experienced Graphic and Web Design Professional

«Yes. Although I prefer Firefox, I do believe that Chrome will make it to the top by mid-2012. IE is terrible and makes web design tougher because it does not conform to new and updated HTML or CSS.»
Nina Churchill,
Owner of Fresh View Concepts

«While Chrome is an outstanding browser, it will not be #1 in 2012 due to the simple fact that the vast majority of Internet users, contrary to conventional wisdom, are not particularly savvy with regards to the Internet and technology. Most users are people who don’t care about browser wars. They simply want to be able to check their Facebook accounts and e-mail and Twitter and… Well, you get the point. Until Chrome gets must-have features that even your mother or grandmother are asking about, Chrome will remain #2 at best.»
Christian Zimmerman,
Desktop Engineer Team Lead at Nelnet, Inc.

«Not sure what it will look like in 2012. I will say I haven’t used IE in over a year or more. Chrome get’s on my nerves sometimes; but I have tried them all and found Chrome to be the lightest without sacrificing great options. »
Tony Rappa,
Nugget Training Advisor

Google Chrome only launched at the end of 2008, but with close integration and added features for people using Google’s ubiquitous suite of web tools such as Gmail, Google Docs and the like, the exciting benefits that will surely come as a result of Google+, and Google throwing oodles of cash at promoting the product, Microsoft and Mozilla must be seriously concerned. Agree?

Best Regards,
Kristina Kozlova
Altabel Group – Professional Software Development

Facebook says its new Messages service is no Gmail killer, and Google’s CEO has said he is not concerned. Bellow you may find some LI members’ opinions about this topic.

«I feel no, Facebook is one of the best networking site to communicate and keep in touch everyday.»
Sean Lopez

«Yes! Some people think FB messaging service will replace email in the future….»
Kate Jillings

«Well, inertia is a powerful force. It takes some getting for people to switch e-mail services, especially when it comes to the hassles of changing your contact information with friends, banks, credit cards and other organizations that use your address. Even then, the possibility cannot be ruled out. Facebook already has a treasure trove of personal information and a huge messaging platform. Throw email into the mix and you have a deadly combination. And there’s also the social element: FB knows very well who your friends are and how closely you’re connected to them; it can very well do a pretty good job of figuring out which personal emails you want to read most and prioritize them accordingly. With more than 500 million users, FB is a giant much bigger than all email providers. If it can manage to integrate the new messaging system with the main interface, I think FB will get even “stickier” than it is and will make people keep their distance from the privacy-invading behemoth.»
Abdul Rahim Hasan

«It would be death for Google to say that it *is* worried, whether it is or not. New technology does not kill old technology immediately. It layers on top of old ways of doing things. Email is not, despite what Facebook says, dead. Facebook is engaging in a little psyche-out with Google, pretending that it’s David to Google’s Goliath, when it hasn’t been David for years. Watch, in 5 years as Facebook becomes MySpace and some new, even cooler platform takes over the zeitgeist and we all forget about Mark Z.»
Erica Friedman

«Absolutely not. While Facebook has the user base, their current platform apparently does not have the ability to support a real email service. I’ve been using the “New Messages” for a few weeks now, and my conclusion about it is “Seriously? That’s it?”»
Brian Altenhofel

«I am concerned about the privacy issues that are going to come up…not at an IT level, but because people have begun to let down their guard where they’d have never done so like this in a shopping mall meeting someone and talking, or a cafe, or elsewhere. Facebook does not seem secure to me in that sense rather than the security of their messaging system. I’m seeing droves of people joining facebook then baring their souls and their everyday existence…then realizing you cannot take that back. One thing you must say is that communication is still more or less in writing but not for long. Voice recognition etc is going to become more common. So facebook may serve a purpose as it’s more visual than verbal for many folks and the others still require more written communication. Like it or not, many people find that requires a little work!»
Heather Vitaglione

Maybe you have something to add?

Best Regards,
Kristina Kozlova
Altabel Group
www.altabel.com

The computer industry is one that confuses most people, even those within it. The buzzword today is “Cloud Computing”. But what is it? More importantly, why do I care, and why should you care?

I am sure that most people will say – “The PC that I bought at my local shop made no mention of the cloud; it must be an app on service”.

Not so!

Most people are already users of the cloud. Do you have a Yahoo, Gmail, or MSN email address? If yes then you are a cloud user. Your data is not on your local computer, it is stored potentially 1000’s of miles away.

The same goes for the social media sites, Facebook, Myspace, Twitter, and the other eight gazillion places operating in the same way. Your comments, pictures, ideas, are not living inside that box on the floor beside your monitor; they are on a computer far, far away.

To be honest, the Cloud seemed scary when I first heard about it. Who would trust information to be stored in a place that is hard to define? A place that you could not reach out and touch?

But, think about it for a moment. Your local hard drive is the same in a way. Sure, you can take a screwdriver and unhook it. You can hold it in your hands, but can you really touch the data? Can you hold that picture of your child in your hands? The answer is a resounding NO!

You can hold the physical device, but so what? What happens if that physical device gets damaged? The sensible answer would be I would reload my data from my back up system. It sounds great, but, how many of you actually back up your data?

The cloud makes good sense. Your data is backed up, it is safe. Sure, if you lose your Internet connection it will be inaccessible until service is restored. I class that as a minor irritant that I can live with, and when it happens I can always continue to create at the local level.

The cloud as a data repository makes great sense to me.It unfetters me from my computer, no matter which part of the world I am in, and I can access the information.

Can the cloud do more? Yes it can ;)

Kristina Kozlova
Altabel Group
http://www.altabel.com


%d bloggers like this: