Programming Language Education

Honestly, I’m quite fond of PHP. First, the community on php.net is exemplary for its helpfulness and their members’ excellent manners.

I am also a great fan of web applications in general. From a developer’s point of view, there is no easier way to provide users with good-looking and functional interfaces and PHP is just the simplest way to build dynamically created web-sites. It just gets the job done.

On the other hand, it has a flat learning curve: Even when you know very little, you can still do a lot of useful things.

Many people though, criticize PHP, I reckon, often unfairly.

Some say, it lacks unifying design principles. This is somewhat true, but rather than a weakness, I consider this to be a strength. The language doesn’t constrain your creativity, but lets you choose which path you consider to be the best.

Others complain about the supposed ugliness of the code which is bullshit. It’s totally up to the programmer whether she writes in a readable and comprehensive style or not. A C program full of macros is unbeatable when it comes to obfuscate the programmer’s intentions.

The main complaint, though, seems to be that there is a lot of extremely buggy PHP code in productive use. This is also true, but I believe, mainly due to the fact that many of the people writing PHP code aren’t real programmers. Again, I don’t think that they or the language are to blame for this. We all have to learn and in the end, there’s hardly any program of a certain complexity which is free of errors. In PHP, at least, they are often easier to spot and fix than in compiled languages with the advantage that you correct them in one place, the server, whilst an updated binary executable has to be rolled out to all clients.

I reckon, the last point has to do a lot with envy: Real programmers often had to learn the ropes in a very hard way in order to do anything useful whilst the perceived quiche eaters of PHP managed to produce at least something useful after a couple of days of learning.

2 Likes

You are again right.

As a real programmer with, as you all know, just a little bit of

memory to help
I need to comment my comments. :smiley:

It will help other when I die or retire, which ever comes first.

3 Likes

@R_G
**I myself know 7 programming languages **
Started learning when I was 10 year old kid
As being Computer Science student programming languages you are talking are not going to be obsolete anyway just like Sanskrit in India is still taught in schools
In same way COBOL etc are not going anywhere .
We still have

Mainframe Computers today
The technology that existed 10 years like Windows 🪟 7 is still running on millions of :desktop_computer: Computers in today’s time .
If you talk about C and Python they are much easier to learn first
Different between Java and C
System.out.println();

C
println();

@Akito You’re very smart
Already much smarter than Zah Lee

@Akito Thats why I see your pic and reply in every topics when I scroll and surf every topic in ITFoss .

:rofl:

C, easy to learn?

Then you do not know C.

That println(); is a strawman. If you are correctly programming real world applications with C, you have to make a huge deal out of even such seemingly tiny elements like printing something or reading input. I’m not a C expert, so I can’t give a detailed and fully elaborated example, but I know that in C/++ there are like a hundred different printf implementations, all slightly different due to different security requirements or other reasons.
And such behaviour is seen all over the place. It’s pretty much the case, that if you program in C, you are always doing something wrong. Only after maybe 20 years of experience, or if your name is “Linus”, you perhaps can program correct C. Still, even then, like every other program, you will eventually create bugs.

C is one of the most inconvenient and hardest languages to learn, on the entire earth.
The only languages that seem tougher than C are Assembly, Brainfuck and Befunge. Literally every other language is easier to use, than C.

There is 1 thing C is good in:
Teaching users to understand computers and how they work internally. This is, in 2021, the only reason anyone should ever learn C, let alone as their first language.

No, I’m just normal, but I’m often being looked at by people having no experience with anything related to computers, which leads them to think I am smart, when I’m not. Almost all the information I share here, is basic stuff anyone can look up.

Xah Lee is a master. He is an icon in the history of computers.

3 Likes

@Akito
I seemed easy to me at first so I learned it when I was 10 years old
Still I agree with you other languages are also easy to learn
I know C from many years
6 years ago

@Akito
Then you haven’t practiced writing programs or you have no idea about C .
Nothing C is not difficult if you practice writing programs and applying logic then its not a difficult language you’ll be able to master it soon
Same goes with other programming languages like Java , C++ , C# etc .

Even in our school C was taught as first language then as soon as I came to High School then they started teaching Java etc .

I assert the existence of an apparent discrepancy of enormous grandeur between your interpretation of “learned” and mine.

Okay, please show me some examples on Github, which you programmed.

1 Like

@Akito
I never used Github at that time
Just simple IDE Turbo C++ and used to write programs in my copies at that time .
Now I have the knowledge of GitHub and Git
I still have those old copies kept safely .

@Akito
:blush::sweat_smile:
I was a kid who just started learning those programming languages at that time
Answer : Ten copies kept safely and
I you wish you can come and see those ones .

Then use your knowledtge, to commit those copies to their respective Github repositories.

1 Like

@Akito
Now if you wish to see my codes when I was ten
// program
#include<stdio.h>
#include<conio.h>

void main()
{
printf(“Akito\n”);
getch();
// Displays output on screen
return 0;
}

I rest my case.

0000

2 Likes

Just strolling a bit away from the most recent discussion, I’d like to share an anecdote about two programmers I worked with in my last job:

One was a C++ crack of about 55 years with a huge amount of experience, always aware of the latest developments and knowing every in and out of the language. His code was condensed, elegant and highly performant.

However, he had a couple of weaknesses:

  • He wasn’t a huge fan of communication. Once he got a task, he would sit down, start working and then come back with the finished program.
  • He really didn’t care what his programs would do in the real world. He never thought of user errors or flawed input data, so in the end, somebody else would have to write another program to check the input data, provide a better user interface or another program to check output consistency.
  • His code was nearly impossible to understand, let alone to maintain, for somebody with a little lower level of expertise.

Then there was this other guy, beginning of his 30s, who would always try to fully understand what a program really was supposed to do. He would always come back with questions or doubts.

He had a unique quality, I have never seen to this extent:

In whatever language he programmed, the code was always readable and extremely easy to understand, even if you didn’t know the specific language it was written in, and it usually worked with hardly any need to make changes.

In my opinion, the second guy was the far better programmer. Unfortunately, our CTO did not agree: He was always so impressed by the magical code, the first guy produced, that eventually he promoted him and not the other.

3 Likes

That CTO is a fucking idiot. A CTO should see the overall value in an overall good programmer, instead of an excellent one trick pony, that creates more problems, than it solves. That CTO is a joke.

3 Likes

Seen this the other day on social media - I’m informed the quiz show had “B” as the correct answer and that upsets me in SO MANY WAYS!

@R_G - I take your point about it being hard to learn new stuff, I’m 60 next year… I concur… there’s a shit ton of “new” stuff I’d like to learn - e.g. python and/or ruby… mainly 'cause everyone’s asking for them (employers)… and I never got my head around C/C++ (NEVER found them “easy”) - but have tried getting my feet wet in the shallow end of the golang “paddling pool”

To get further in my “field”, “UNIX System Admin”, jobs these days are nearly ALL “DevOps” or “SysOps” - you need to know Python at least… I’ve looked at tutorials, paid for a course on uDEMY - played some platform game that’s supposed to teach you python - but - none of that helps - I need to be set a task, or, find a real world problem to solve, yet, whenever I find a real world problem to solve, I can nearly ALWAYS solve it with BASH easily (which aint that different from KSH or CSH or even SH, or TCSH). Ideally I’d prefer to find some local “night school” (we call them TAFE in Australia) with an instructor led formal format, introduction to Python…

To be fair to myself, over the years, I’ve manage to kinda/sorta learn new languages - or - understand them - like YAML - and through using Puppet, “ruby like syntax” - etc - but it’s still not the same :
image… but then again - YAML’s like HTML - not a PROGRAMMING LANGUAGE per se…

1 Like

@daniel.m.tripp
See I won’t lie
What facts I have presented in front of everyone is true
Otherwise having bugs and errors is a normal thing
and If C was so difficult to learn then I wouldn’t have learnt it as my first programming Language
Its easy if you practice and practice writing lot of programs
Nothing is impossible .

When you ask different people which language to learn first
They do the acts like this
Person one
:arrow_up::arrow_upper_right::arrow_right::arrow_down:
Person Two
:leftwards_arrow_with_hook::arrow_right_hook::arrows_counterclockwise::arrows_clockwise::arrow_left::arrow_lower_left:

This creates a lot of confusion which language to learn first especially for beginners.

1 Like

Well, a markup language is hardly a programming language, that’s for sure.

CTOs are often clueless (look at my anecdote from above).

Whilst being extremely powerful and useful in a large variety of areas, Python is definitely not the most suitable tool for admin tasks, especially considering that in a heterogeneous environment, you can never be sure whether it is available at all and if so, in which version.

Also, it can be pretty clumsy for everyday tasks, and its strict syntax requirements make it rather hard to make one-liners and one-off scripts. In that sense, when it becomes too tedious writing a bash script, good old Perl (installed on every UNIXoid system), is still the Swiss army knife of programming languages with an easy-to-use regex-machine that even supersedes sed.

2 Likes