One question I get often, is which programming language should you learn?
… I’ve been getting this question for years!
Things change in the programming world, languages come and go. But the good news is that the basics, the core concepts and techniques, are 90-95% the same in all the modern programming languages:
Java for web apps or Java for Andriod
…. What that means, is that your programming language choice, isn’t nearly as critical as you’d think. Why? Well, once you know one programming language, it is easy as apple pie to switch to another!
How to choose between PHP and Python?
The key to choosing a language comes down to two things: market viability of the programming language and what KIND of programming you want to do.
Kinds of Programming
You have many choices in terms of marketable programming languages … there is plenty of work for the languages listed above. Each language though, means a different kind of programming, and that often means a different type of person would enjoy programming language ‘A’ vs programming language ‘B’.
For example, PHP programming is focused on web development, and that’s all you will do with PHP. In fact, PHP is the most used server-side web app programming language today.
On the other hand, Python is a general purpose language that is used in many areas:
Ai and ML
… Python strength is the flexibility of the language. PHP’s strength is that it is the best at building web apps, all things considered.
Choosing your language
The key is to explore a little on your part, check out which TYPE of jobs you can get with Python, and the type of jobs you can get with PHP.
Again, different programming languages mean a different type of job.
The good news is that you don’t need to worry about your choice too much, because you can always switch languages later. It’s easy to switch over, because all the above languages share about 90-95% of the same principles and concepts. The code looks different, but learning the code is the easy part.
Suggested first programming languages?
I would suggest Python if you want to get into Ai and ML, and PHP if you want to create web apps or work with WordPress in a serious way.
PHP is probably the best web app development language out there today for a bunch of reason technical, and market oriented. But it’s not the only language out there and it doesn’t have a monopoly of good programming.
Comparing Programming Languages
An important lessons that my 20+ years of programming experience has taught me, is that one of the best ways to learn one programming language, is to learn another! By learning different programming languages, you will start to gain deeper insights about your first programming language.
Here is the key point, most modern programming languages share about 98% of the same principles and language constructs. That said, each language has their own subtle take on how they do things. So for example, PHP creates functions with this code:
echo "I love peas!";
Python (like so many languages,) has functions too. Python creates function with this code:
print("I love peas!")
… Different code/syntax, same concept.
A funny thing happens when to express concepts in different languages: you get a better understanding of the concept. So learning how Python treats functions, will allow you to understand PHP functions better. This really becomes interesting when you get into more advanced concepts like anonymous functions, collection types and OOP.
I am excited to announce our upcoming Python course: Powerful Python 3.
A beginners course covering Python 3, students go from an absolute neophyte, to having a working knowledge of object oriented Python. Course is based on Python 3.6.
StudioWeb course details:
In addition to a set of comprehensive and engaging videos, Power Python 3 will include quizzing, code challenges, and gamification that is provided by the StudioWeb app. Your students will learn Python easily, and they will have fun too!
Each video lesson is supported by 4-5 quiz questions, that are made up of both code challenges and multiple choice questions. All our courses leverage the recursive spiral teaching method that helps us to achieve great outcomes with students.
From a professor’s perspective, StudioWeb provides classroom automation tools that makes it effortless to manage multiple classrooms. In fact, we have many teachers who simply take on the role of classroom facilitator. StudioWeb does the teaching!
At the time of this writing, we are just finalizing the course in terms of the range of topics covered, from the basics to OOP … I will include the table of contents at the bottom of this post. Thus far 50 lessons are complete. The course should have ~55 lessons.
Some of the tools that the StudioWeb app provides:
Auto grading by course, chapter and lesson
Realtime progress tracking of student progress and performance
Built in hinting so it is impossible for students to get stuck
Excel output of final grades
Daily activity tracking
Thanks to years of working with many schools, StudioWeb is highly refined and you will achieve exceptional outcomes. We have a 100% renewal rate with schools.
Advance Demo request welcome!
If you would like to get an advanced look at Powerful Python 3 and/or the demo a StudioWeb classroom … please feel free to contact us.
Powerful Python 3 Table of contents (as of May 25th):
2. Python learning tips
3. Install Python 3.6 on Mac
4. Install Python on Windows
5. First Python code
6. Introduction to Data Types: string and int + comments
7. Introduction to Variables and Floats
8. Why so many programming languages
9. more about comments and variables
10. variables – behind the scenes
11. mixing the data types string and int
12. introduction to drawing with python
13. IDEs Explained
14. Python Loops Introduction
15. Python Loops with range()
16. Python drawing with loops
17. Python conditional statements – part 1
18. Python operators
19. drawing with Python with loops and conditionals – part 1
20. drawing with Python with loops and conditionals – part 2
21. Python history and Philosophy
22. Python List Part 1
23. Python List Part 2
24. Python List Part 3
26. Python Sequences Overview and Review
27. Python Dictionary / Maps continued
28. Python Dictionary / Maps – updating, inserting and deleting
29. Python PEP 8 (https://www.python.org/dev/peps/pep-0008/)
Overly rigid lesson plans can easily be derailed … I hear about it all the time. Once that happens, teachers are scrambling to get things back on track. The other approach is to use a flexible lesson plan that allows for variability in the classroom:
Student misses a few days.
Student is talented and moving fast
Student is struggling and needs more time
School gets cancelled a few days for whatever reasons …
A curriculum designed for reality
Instead of a set of highly structured lesson plans that can be hard to implement, we provide a fun and outcome focused set of courses that give students the freedom to learn at their own pace.
… A student missing a few days school, working more quickly or more slowly than other students, won’t break the flow of the classroom.
The goal is that students learn to code, and that they understand the basic concepts behind the code. Luckily, this can be achieved very easily and early on in the courses. For students who are high performing and have zipped ahead of the class, you have plenty of course material in StudioWeb, where they can learn another language (Python, SQL, PHP) or build more elaborate web sites and apps.
One of the reasons PHP is a good language to teach server side programming with, is because it is relatively easy to setup a PHP environment on each student’s workstation. With free apps like MAMP and WAMP, you can install a fully functional PHP installation with MySQL, Apache and it comes with an easy to use control panel to manage the servers.
With this 1-click install running, students will be able to explore concepts like:
http directory and how it impact server side code processing
… And more.
StudioWeb’s interactive PHP courses teach not only the fundamentals of programming, we also have included key project based courses (crud with PHP, PHP tag cloud) that allow students to see PHP used in a real-world programming context.
Teachers benefit from the interactive training in StudioWeb, since the StudioWeb app tracks student performance including:
Time on each question
Right and wrong code attempts
As such, we generate accurate grades by course, chapter and even the lesson – all presented in simple to read tables. This means that teachers will instantly know how well students have grasped each subject.
PHP is a powerful language that students can almost immediately use in the real world to build great web apps. StudioWeb itself is a PHP app, and after 6 years of refinement, our student outcomes just keep getting better and better.
If you are interested in teaching PHP or learning PHP, check out StudioWeb.com
Every entrepreneur and business owner is familiar with the term ROI. However, when it comes to their business websites they have little or nothing to say when talking about ROI.
The overwhelming amount of information in the digital world can trick even the sharpest mind. There seems to be one to many online marketing strategies out there and it can be hard to choose what really works and how to take advantage of it.
The pace with which technology advances is incredible and in the last decades, it has gone insane. There is digital innovation everywhere and there is so much of it that we can barely keep up with what is changing within our houses. No one seems to watch TV or play board games anymore. All we hear about in the living room is Netflix, Xbox, and countless different names of apps with so many purposes that you get lost just thinking about it.
It can get even messier when we go into our screens and into the business world. From the beginning of the internet to nowadays a lot has changed and even though many aspects of the digital world have become more comprehensible to the average business person, at the same time, an incredible number of new marketing possibilities came into the market making it a little confusing. The good thing is that in the end, to have success online, your business needs to focus on just a few things primarily that will make the most difference in the long term.
Take advantage of the tools available
There are many tools available out there to get a website. There is no need to pay $20,000+ for a business website anymore. All you need is the right tools and the right person, and that could well be yourself.
One of the all favorite internet geek tools today is website builders. They are very easy to use and in a matter of minutes, anyone can make a webpage. Among the options available in the market, SITE123.com is a wonderful free website builder with very interesting tools. The only cost involved is for hosting, domain names and other features such as custom email addresses. The price ranges approximately from $9.8 to $21.8 depending on your company’s needs.
By using SITE123’s free website builder, you get a nice cost reduction and that makes it easier for you to get your investment back. Along with other strategies, it will lead to greater ROI.
Provide excellent customer service
There are two things that are extremely fundamental for every business: sales and customer service. The first one guarantees your cash flows and the second ensures you that the customers will be coming back for more. It cannot be different with a website. You must provide excellent customer service in order to retain your clients and make sure they will come back to you when then need more of the product or service you offer.
Traditionally, customer service is offered on-site, on the phone, by mail and email. The digital world offers other possibilities now. By using chat plugins, your clients will be able to contact your company in real-time through a little chat window. They just click and start talking to you. To add a chat plugin to your website on SITE123.com, click on “SETTINGS” and then “PLUGINS” on the left side menu of the website builder.
Capture leads and nurture them
One of the greatest tools in traditional business strategy is capturing leads and nurturing them. This can be brought to the digital world as well. There are quite some ways you can generate leads online. The most common of them is subscription boxes. They are everywhere and seem to be working very well. A recent Forbes article mentioned that if you have a subscription service, capture and nurture leads, you could get an increase in sales of 20%. What a return on investment that can bring you over time.
Take advantage by adding a subscription box to your website. On SITE123’s website builder, just go to the “FOOTER LAYOUTS” options under “DESIGN” and insert a subscription box to your website.
Send out newsletters
Among the possibilities you have for nurturing your leads and actually converting them into customers is one that has been very misused but is now regaining space: newsletters. A few years ago, subscribing to a newsletter from most websites was like buying a ticket to hell. It was so annoying – they would flood your mailbox with all kinds of products, services, fake discounts and so on. And it would not stop there. All of a sudden, emails coming from all over the world with links to all kinds of sketchy websites would arrive: your email address had been somewhere somehow sold on a bundle with thousands of other email addresses.
Thanks to the common sense of some professionals, newsletter have once again become secure and interesting as the websites now seem to send only relevant content and do not just try to sell to you every day at all cost. And customers like it. A recent article by Business Insider reads that 60% of CEO’s read newsletters.
Your business can jump in and use this powerful tool for informing your leads about your business and industry. It is the era of information now and you can also send some interesting facts related to your business or industry. Your clients may like the content and bond to your company putting you one step from retaining them as customers.
On SITE123’s management panel there is an option for managing a mailing list with your leads and sending out newsletters to them.
Keep an eye on new online marketing strategies
Above we outlined a few of the most important online marketing strategies. There is much more out there and every day new powerful tools come into play and some of them could take your business into a huge leap. It is all about staying up to date.
Thankfully, there are many places you can go for help such as forums and blogs with valuable content to inform and teach you about the latest trends in online marketing. Also, remember to sign up for newsletters that you think could bring you interesting information. Using simple smart tools and keeping yourself informed about new effective opportunities to throw into your marketing mix, it is almost guaranteed that you will have great success with your website.
I’ve been writing code since 1994, and have used many programming languages over the years to build commercial apps. Thought PHP was NOT my favorite language, years ago, I came to respect the pragmatic and effective nature of the PHP universe. From day one, with PHP, you just got things done fast.
PHP sucks! PHP is old!
Funny, PHP is the programming world’s whipping boy. People have been disparaging the language for years and years. And yet, like Rocky Balboa, it just keeps on coming and winning!
PHP now powers more websites than any other server side programming language … some estimates say nearly 80%! Consider that the 3 most popular CMS’ are built with PHP (WordPress, Drupal and Joomla) … it stands to reason.
Contrast that to the once darling of the nerd-hipster programming world: Ruby on Rails. Rails for all its’ positive qualities and innovations of its’ day, has slowly faded. Year after year as PHP continues to hold its’ quiet dominance in the server side programming space, Ruby on Rails slowly sinks in obscurity reminiscent of other failed technologies like Delphi, ColdFusion and Flash.
The naysayer nerd-hipsters will always find fault with PHP because of its’ sorted past, but history teaches us that just like Rocky, PHP will not only last for years to come, but will in fact thrive due to its’ yuuuge install base, and because of continued development of innovative tools like Laravel.
We are about to lock-down an app’s code base, before moving to a total rewrite from scratch. But before we move on, it is important that the current version be pretty much bug free, and fully functional.
… Just in case the new version of the app doesn’t hit deadlines on time. At least we will have a fallback position.
Death by last minute changes!
So we decided to implement some last little changes to the soon to retired app, and in the process of making these small changes, not so small bugs crept in. That is a symptom of, and one of the reasons we are doing a rewrite – messy old code base. After many years and developers, the code base is just getting a little to creepy to want to mess with. Developers are scared to mess around.
Test, test again, and retest!
I make it a point to do the testing myself. I know the app like the back my hand, and I can run through things more quickly than anyone. It isn’t the most fun job but since I own the app, it kinda makes sense that I make sure it is working fine before we deploy it.
You can never do too much testing. Especially on old software that has had many developers touch it.
With all the talk about Ai (artificial intelligence,) people are wondering if Ai will rush in, making human coders obsolete. Short answer: maybe in 25-50 yrs!
Ai is slowly being developed, but there is a way to go! Though true Ai will take a while before it is realized. As it develops, you will start seeing the simple jobs replaced by Ai long before it finally gets to coders.
The 3 Categories of Ai
The scientist have divided Ai into three categories:
Artificial Narrow Intelligence (ANI)
Artificial General Intelligence (AGI)
Artificial Superintelligence (ASI)
Today we have lots of examples of ANI Ai: Siri, Google search and self driving cars. This type of Ai can only do a few simple things. A long way off from coding!
The second type of Ai (AGI) is what will eventually replace human coders. AGi can think, learn, plan ahead and communicate. When that happens, Ai will replace all jobs, not just coders.
Coders need to Communicate with Clients
Coding has a lot to do with being able to communicate with humans, since you have to speak with people to figure out what they want in their websites (or apps) that you are building. That’s one thing new coders/developers often overlook – the importance of being able to interact with people. Good social skills is a big part of being a great coder.
Of all the skills that Ai will have to learn, the nuances of human communication will be the most difficult. So long before Ai will start coding, it will replace construction workers, truck drivers, accountants, maintenance workers and many other jobs.
… Ai represents a huge change in our society and likely our culture. Nobody can say with certainty how it will all play out. But what is clear, is that the simple tasks will be replaced with Ai before coding … given how complex coding can be.
Some of the world’s smartest people are sounding the alarm bells about the birth of Ai, this includes people like Bill Gates, Elon Musk
and Stephen Hawking. I think as we get closer to true Ai (Artificial General Intelligence – AGI) rules and restrictions will be put into place and Ai will likely be tightly controlled. This will further slow the adoption of full Ai in any field. So this will further slow the replacement of live coders with Ai.
Ai will change the Role of Coders
As primitive Ai begins to come online over the next 20yrs, you will first see Ai change the role of coders/developers. So as we use frameworks and code libraries (ex: jQuery, Bootstrap) to speed up development today, primitive Ai will slowly works its’ way into development in an assistive role. Instead of replacing coders outright, Ai will merely allow us more freedom to work on the higher level conceptual aspects of an app.
… Sounds good to me!
Finally, given all the experts seem to think true Ai will only be invented in 50 yrs, I wouldn’t be too concerned. In fact, the fabric of society will change radically (due to Ai) long before coders/developers will be replaced.