Jump to content

Anything against learning PHP first?

Alright so I watch a lot of Eli the Computer Guy and he recommends starting with PHP as a first language.  I am currently in the process of attaining my bachelors in computer science and I've honestly not ever programmed anything in my life.  Just wondering if PHP was alright to start with I was thinking either that or python because I'm going to be taking a class for C++ so that would be kinda dumb to do that first any thoughts? I know a lot of people ask about a first language but none with php

Link to comment
Share on other sites

Link to post
Share on other sites

Alright so I watch a lot of Eli the Computer Guy and he recommends starting with PHP as a first language.  I am currently in the process of attaining my bachelors in computer science and I've honestly not ever programmed anything in my life.  Just wondering if PHP was alright to start with I was thinking either that or python because I'm going to be taking a class for C++ so that would be kinda dumb to do that first any thoughts? I know a lot of people ask about a first language but none with php

PHP is considered an "outdated" language. By that I meant there are new ones that can do things much better and easier. But it's still widely used language so it's still has that going for it.

 

 

Everytime this type of question pops-up I would almost always recommend either C++ or Java since you'll have a class on C++. Then taking up Java would be a nice bonus since they pretty much have little diffences in terms of syntax.

|CPU: Intel i7-5960X @ 4.4ghz|MoBo: Asus Rampage V|RAM: 64GB Corsair Dominator Platinum|GPU:2-way SLI Gigabyte G1 Gaming GTX 980's|SSD:512GB Samsung 850 pro|HDD: 2TB WD Black|PSU: Corsair AX1200i|COOLING: NZXT Kraken x61|SOUNDCARD: Creative SBX ZxR|  ^_^  Planned Bedroom Build: Red Phantom [quadro is stuck in customs, still trying to find a cheaper way to buy a highend xeon]

Link to comment
Share on other sites

Link to post
Share on other sites

Don't.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

 Just wondering if PHP was alright to start with I was thinking either that or python because I'm going to be taking a class for C++ so that would be kinda dumb to do that first any thoughts?

 

I'm not sure I understand this, but what would be dumb in this sentence ?

If you're taking a class for C++, why not focus on that first ? It will give you a good background on thinking about the process and flow of the programs you'll be doing. Also, knowledge on the basic programming language will allow you to adopt to other languages.

CPU: Intel i5-4590 | Motherboard: Asus H97M-E | GPU: Sapphire Nitro R9 390 | RAM: 2x4Gb Kingston HyperX Fury Black | SSD: Sandisk Plus 240Gb HDD: Seagate 250Gb  | PSU: Seasonic G650 80+ Gold | Case: NZXT S340

I am who I am.

Link to comment
Share on other sites

Link to post
Share on other sites

I'm not sure I understand this, but what would be dumb in this sentence ?

If you're taking a class for C++, why not focus on that first ? It will give you a good background on thinking about the process and flow of the programs you'll be doing. Also, knowledge on the basic programming language will allow you to adopt to other languages.

because im gonna be taking a class for it and if java and C++ are almost identical maybe I should learn python first?

Link to comment
Share on other sites

Link to post
Share on other sites

because im gonna be taking a class for it and if java and C++ are almost identical maybe I should learn python first?

Even if two things are similar doesn't mean you'll be master at the other.

 

Java has it's own specialties and so does c++.

 

Having very similar syntax's doesn't mean they're the same.

 

otherwise the community should've just ignored one or merge them both together.

|CPU: Intel i7-5960X @ 4.4ghz|MoBo: Asus Rampage V|RAM: 64GB Corsair Dominator Platinum|GPU:2-way SLI Gigabyte G1 Gaming GTX 980's|SSD:512GB Samsung 850 pro|HDD: 2TB WD Black|PSU: Corsair AX1200i|COOLING: NZXT Kraken x61|SOUNDCARD: Creative SBX ZxR|  ^_^  Planned Bedroom Build: Red Phantom [quadro is stuck in customs, still trying to find a cheaper way to buy a highend xeon]

Link to comment
Share on other sites

Link to post
Share on other sites

because im gonna be taking a class for it and if java and C++ are almost identical maybe I should learn python first?

 

ehmmm . .

Why not learn C++ first since you'll be taking a class for it ? If you feel that you're comfortable with C++(with all it's classes and methods and functions and stuff), then switch to Java or Python - whichever you feel interesting.

This is just my opinion but while learning programming is really fun and exciting, try to take things a step at a time.

CPU: Intel i5-4590 | Motherboard: Asus H97M-E | GPU: Sapphire Nitro R9 390 | RAM: 2x4Gb Kingston HyperX Fury Black | SSD: Sandisk Plus 240Gb HDD: Seagate 250Gb  | PSU: Seasonic G650 80+ Gold | Case: NZXT S340

I am who I am.

Link to comment
Share on other sites

Link to post
Share on other sites

This is just my opinion but while learning programming is really fun and exciting, try to take things a step at a time.

I applaud you things can be a little overwhelming at first thinking i need to learn all these languages but im sure it'll come with time :)

Link to comment
Share on other sites

Link to post
Share on other sites

I applaud you things can be a little overwhelming at first thinking i need to learn all these languages but im sure it'll come with time :)

Yep yep.

Actually, thinking that you need to learn all those will just give you stress.

One thing I learned is just study what you think is interesting. That will keep you're motivation going.

But of course since it's a class keeping your grades up is also a good motivation :)

CPU: Intel i5-4590 | Motherboard: Asus H97M-E | GPU: Sapphire Nitro R9 390 | RAM: 2x4Gb Kingston HyperX Fury Black | SSD: Sandisk Plus 240Gb HDD: Seagate 250Gb  | PSU: Seasonic G650 80+ Gold | Case: NZXT S340

I am who I am.

Link to comment
Share on other sites

Link to post
Share on other sites

C++ and Java are not similar at all. If you mean similar by that they are OO then every single language that is OO is similar, which is obviously not the case. First difference is that C++ memory in unmanaged, in Java it's managed, that already impacts your application design and coding style. C++ compiles to native code, Java to Bytecode that is later interpreted.

 

I would not suggest learning PHP first, as others said it is outdated, it will teach you so many bad practices that will surface when you will code in other languages. Python is too a slippery slope, but you can learn to use it gracefully. I suggest learning C first to understand how most things even work, then Java or C#. But if you are not interested in that at all you can skip C altogether.

Link to comment
Share on other sites

Link to post
Share on other sites

In my opinion you should start with something like C# instead. I personally have nothing against PHP however - you might find it useful if you're interested in pursuing web development at some point.

Speedtests

WiFi - 7ms, 22Mb down, 10Mb up

Ethernet - 6ms, 47.5Mb down, 9.7Mb up

 

Rigs

Spoiler

 Type            Desktop

 OS              Windows 10 Pro

 CPU             i5-4430S

 RAM             8GB CORSAIR XMS3 (2x4gb)

 Cooler          LC Power LC-CC-97 65W

 Motherboard     ASUS H81M-PLUS

 GPU             GeForce GTX 1060

 Storage         120GB Sandisk SSD (boot), 750GB Seagate 2.5" (storage), 500GB Seagate 2.5" SSHD (cache)

 

Spoiler

Type            Server

OS              Ubuntu 14.04 LTS

CPU             Core 2 Duo E6320

RAM             2GB Non-ECC

Motherboard     ASUS P5VD2-MX SE

Storage         RAID 1: 250GB WD Blue and Seagate Barracuda

Uses            Webserver, NAS, Mediaserver, Database Server

 

Quotes of Fame

On 8/27/2015 at 10:09 AM, Drixen said:

Linus is light years ahead a lot of other YouTubers, he isn't just an average YouTuber.. he's legitimately, legit.

On 10/11/2015 at 11:36 AM, Geralt said:

When something is worth doing, it's worth overdoing.

On 6/22/2016 at 10:05 AM, trag1c said:

It's completely blown out of proportion. Also if you're the least bit worried about data gathering then you should go live in a cave a 1000Km from the nearest establishment simply because every device and every entity gathers information these days. In the current era privacy is just fallacy and nothing more.

 

Link to comment
Share on other sites

Link to post
Share on other sites

I know a lot of people ask about a first language but none with php

 

That's probably because PHP is pretty much only associated with web development and beginners going into web development are usually recommended to start with HTML, CSS, and JavaScript (making JavaScript your first programming language). These three are needed no matter what server side language (PHP, JavaScript, Ruby, Python, Java, C#, etc) you use so it makes sense to start with them and pick your server side language later. If you don't plan on doing any web development in the near future, then you may as well skip PHP.

 

So if web dev isn't your thing, what should you learn instead? If your goal is simply to make your upcoming class easier, then just start learning C++ now. If you would like to experience something fairly different to C++ then some good options might be Python, Ruby, Scheme or Haskell.

 

Another option is to get started with an online "Intro to Computer Science" course and just learn whatever language they are using.

Link to comment
Share on other sites

Link to post
Share on other sites

The short answer is that any language is a good language to learn! It's great that you want to get a head start, so don't worry too much about why (language.x > language.y), because they're all languages that do stuff. :) The most important thing is to try building something that shows you what's going on... For example, take user input and change it somehow (like adding "NOTICE ME SENPAI" to the end of whatever a user types in). Also, learning what the following things are will make a world of difference: variables, procedures (AKA methods or functions, depending on the language you're using), what main()/Main() is, what an object is and how to use it, and how to run and debug a program.

The longer answer is that PHP is a bit... finicky to start with. It's kind of annoying because you need to have a server of some sort to process your code, which isn't necessary to learn right off the bat. Also, IMO, the way it works with the more in-depth stuff (objects, etc.) isn't as 'clean' to write as other languages. The other problem is that there are so many different ways to do the same thing, which is extremely confusing. It -could- also leads to bad habits, but that's an aside.

If you're on Windows and want to get up and running quickly, C# is an extremely clean language, and Visual Studio Community is a great all-in-one solution. Console programs are a great way to learn. Console programs aren't really that flashy, but keep in mind that these are the tools that will let you make the great stuff you'd like to. Everything that you learn is valuable!

Variables are a way to store some type of data. Usually, you have to 'declare' what datatype a variable is. Objects are a way of storing collections of variables, and have methods that usually change or edit those variables.

string sendMe = "Hello world!";Console.WriteLine(sendMe);

The "Console" part is an object. The "." means you're accessing the object. The WriteLine means you're calling a method in the object to do something. The "(...)" is where you send stuff to the method to change or edit. In our case, we're sending the string variable 'sendMe' to be printed by the WriteLine method of the Console object.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×