Official CS50x Thread (Free Online Harvard Programming [C, PHP, HTML, Javascript, SQL...] Courses

Hood Critic

The Power Circle
Joined
May 2, 2012
Messages
24,143
Reputation
3,747
Daps
110,141
Reppin
דעת
can you make the lightning move faster to make it harder?
Yes, the bolt moves slightly (+5) faster with each transformation. I had to decrease the stepping in the speed because it was originally way too fast. I plan to add multiple bolts on transformations.
 

Liu Kang

KING KILLAYAN MBRRRAPPÉ
Supporter
Joined
May 3, 2012
Messages
13,749
Reputation
5,513
Daps
29,901
Scratch annoyed the sh*t out of me at first, having some background in coding. At first I was going to do just enough to meet the requirements but I personally felt like I wouldn't be defeated by something simple.
I know what you mean because I also knew some stuff already but then I looked at it more like fun stuff and enjoyed making the game.
Which is buggy as we speak :beli:
 

Czerka

All Star
Joined
May 6, 2012
Messages
6,895
Reputation
-120
Daps
6,732
Reppin
NULL
Don't spoil us breh :sadcam:
Let us be defeated by the challenge first :pachaha:
lol everything i said is in the walkthroughs, which you basically have to watch to get these right unless you have experience. sick and tired of looking at that ugly bytches face tho :scusthov:
 

Data-Hawk

I have no strings on me.
Joined
May 6, 2012
Messages
8,420
Reputation
1,985
Daps
16,306
Reppin
Oasis
So you know C then, what are its use mainly ? Windows programs or wider stuff like Android apps ?
What's the difference with C++ or C# ?
More important, is it worth it to learn it now ? Does it have a future or will it be outdated soon ?

FYI, I'm not into this stuff to make money but just to learn. From what I saw the course will also take on PHP (and Mysql I hope) and that's what I want because I need it to manage some sites I built, more efficiently. It's only for so much that HTML alone can pretend unfortunately :ld:
But if I can learn to build android apps, well, that will be another string to my bow. And I don't think I will be able to do so only with that course obviously but with a solid basis, one can build a good efficiently.

For C, up until about 2000 - 2005 it was probably the most popular language out, then the whole Object Oriented programming thing happen and the 2 main languages were C++ and Java( I'll come back to these 2 later ). C is considered a low level( some say mid-level ) language. The best way to put that is, C programs tend to run closer to the hardware( less layers etc ) and the language gives you let says more power ( good and bad ). Now a days C is only used where you need the program to be as efficient and fast as possible, these programs typically include

* Operating systems ( I'm pretty sure Windows 7 & 8 still have some legacy C code, Linux/Android, Mac OS , iOS and a host of others, at the core they are written in C )
* Embedded systems
* Game Programming was all done in C up until about 2003 and everybody switched over to C++ pretty much after the Unreal engine popped up.
* Simulations / Security software, I think NASA still uses a lot of C.

I'm sure I'm leaving out other fields, but that's just off the top. So ya from the 80's-90's C ruled the world. But of course with great power , comes great responsibility. C programming pretty much let you do anything you wanted, there's not a whole lot of constraints in the language, which led to bugs and the most famous ones came from the fact you have to manage memory yourself, and in doing so led to security problems( namely buffer overflows ). Now you have to add onto the fact C is not Object Oriented. Hello C++. While C++ was objected oriented and it almost match the speed of C( early C++ compilers were not as optimized as C compilers ), you still had to manage memory yourself and a host of other things. Here comes Sun's Java and Microsoft C# ( History lesson, Microsoft had their own version of Java called J++, but Sun microsystems sued MS, so Microsoft created C# ), Java and later C# were designed with security in mind. You no longer had to manage memory yourself or worry about buffer overflows( supposedly ), Also Java came with a bunch of pre-written libraries saving the developer time.

Java's biggest selling points were( Write Once, Run anywhere and Security ). Java/C# have what's called a Garbage collector, that basically does a lot of the low level work for you, whereas in C you have to take care of it yourself, So this allowed developers to focus more on Software problems instead of computer problems(Also since C runs so close to the hardware it's not as portable as Java ).

So unless you decide to write programs in the above fields, I would stay away from C, but it will *never* be outdated. There's a lot of legacy code out there and if it works companies usually will not risk changing it, Plus trust me if you ever have to write a windows program from scratch in C, you'd kill yourself. I'm talking about writing 200 - 300 lines of code just to setup a window and have a dialog box. ( Wow bringing back the memories..ha-ha ).

For Android programs, most of them are written in Java, for iOS it's Objective C ( god awful language). But nowadays there's so many frameworks out there, you can write mobile apps in just about any language( I've seen an Android game written in Python.. I wouldn't recommend it though. Lol)
 
Last edited:

el_oh_el

Bulls On Parade...
Supporter
Joined
Aug 23, 2012
Messages
10,318
Reputation
1,920
Daps
26,059
Reppin
H-Town
For C, up until about 2000 - 2005 it was probably the most popular language out, then the whole Object Oriented programming thing happen and the 2 main languages were C++ and Java( I'll come back to these 2 later ). C is considered a low level( some say mid-level ) language. The best way to put that is, C programs tend to run closer to the hardware( less layers etc ) and the language gives you let says more power ( good and bad ). Now a days C is only used where you need the program to be as efficient and fast as possible, these programs typically include

* Operating systems ( I'm pretty sure Windows 7 & 8 still have some legacy C code, Linux/Android, Mac OS , iOS and a host of others, at the core they are written in C )
* Embedded systems
* Game Programming was all done in C up until about 2003 and everybody switched over to C++ pretty much after the Unreal engine popped up.
* Simulations / Security software, I think NASA still uses a lot of C.

I'm sure I'm leaving out other fields, but that's just off the top. So ya from the 80's-90's C ruled the world. But of course with great power , comes great responsibility. C programming pretty much let you do anything you wanted, there's not a whole lot of constraints in the language, which led to bugs and the most famous ones came from the fact you have to manage memory yourself, and in doing so led to security problems( namely buffer overflows ). Now you have to add onto the fact C is not Object Oriented. Hello C++. While C++ was objected oriented and it almost match the speed of C( early C++ compilers were not as optimized as C compilers ), you still had to manage memory yourself and a host of other things. Here comes Sun's Java and Microsoft C# ( History lesson, Microsoft had their own version of Java called J++, but Sun microsystems sued MS, so Microsoft created C# ), Java and later C# were designed with security in mind. You no longer had to manage memory yourself or worry about buffer overflows( supposedly ), Also Java came with a bunch of pre-written libraries saving the developer time.

Java's biggest selling points were( Write Once, Run anywhere and Security ). Java/C# have what's called a Garbage collector, that basically does a lot of the low level work for you, whereas in C you have to take care of it yourself, So this allowed developers to focus more on Software problems instead of computer problems(Also since C runs so close to the hardware it's not as portable as Java ).

So unless you decide to write programs in the above fields, I would stay away from C, but it will *never* be outdated. There's a lot of legacy code out there and if it works companies usually will not risk changing it, Plus trust me if you ever have to write a windows program from scratch in C, you'd kill yourself. I'm talking about writing 200 - 300 lines of code just to setup a window and have a dialog box. ( Wow bringing back the memories..ha-ha ).

For Android programs, most of them are written in Java, for iOS it's Objective C ( god awful language). But nowadays there's so many frameworks out there, you can write mobile apps in just about any language( I've seen an Android game written in Python.. I wouldn't recommend it though. Lol)
I'm currently dabbling in obj C to write an app for myself. What makes it bad to you? Is the weird syntax?(which turned me off at first)
 

Liu Kang

KING KILLAYAN MBRRRAPPÉ
Supporter
Joined
May 3, 2012
Messages
13,749
Reputation
5,513
Daps
29,901
any of yall read the "recommended reading"?
You talking about PSet 1 ? I only read the recommended pages on the linked website. Won't bother buying the books, I'm not here for that :lolbron:
But damn, Week 1 really made a jump on the difficulty level. There are some Shorts that I literally watched with the :wtf: face (above all the one with the linker, assembler and so on stuff which had me :lupe:)

For C, up until about 2000 - 2005 it was probably the most popular language out, then the whole Object Oriented programming thing happen and the 2 main languages were C++ and Java( I'll come back to these 2 later ). C is considered a low level( some say mid-level ) language. The best way to put that is, C programs tend to run closer to the hardware( less layers etc ) and the language gives you let says more power ( good and bad ). Now a days C is only used where you need the program to be as efficient and fast as possible, these programs typically include

* Operating systems ( I'm pretty sure Windows 7 & 8 still have some legacy C code, Linux/Android, Mac OS , iOS and a host of others, at the core they are written in C )
* Embedded systems
* Game Programming was all done in C up until about 2003 and everybody switched over to C++ pretty much after the Unreal engine popped up.
* Simulations / Security software, I think NASA still uses a lot of C.

I'm sure I'm leaving out other fields, but that's just off the top. So ya from the 80's-90's C ruled the world. But of course with great power , comes great responsibility. C programming pretty much let you do anything you wanted, there's not a whole lot of constraints in the language, which led to bugs and the most famous ones came from the fact you have to manage memory yourself, and in doing so led to security problems( namely buffer overflows ). Now you have to add onto the fact C is not Object Oriented. Hello C++. While C++ was objected oriented and it almost match the speed of C( early C++ compilers were not as optimized as C compilers ), you still had to manage memory yourself and a host of other things. Here comes Sun's Java and Microsoft C# ( History lesson, Microsoft had their own version of Java called J++, but Sun microsystems sued MS, so Microsoft created C# ), Java and later C# were designed with security in mind. You no longer had to manage memory yourself or worry about buffer overflows( supposedly ), Also Java came with a bunch of pre-written libraries saving the developer time.

Java's biggest selling points were( Write Once, Run anywhere and Security ). Java/C# have what's called a Garbage collector, that basically does a lot of the low level work for you, whereas in C you have to take care of it yourself, So this allowed developers to focus more on Software problems instead of computer problems(Also since C runs so close to the hardware it's not as portable as Java ).

So unless you decide to write programs in the above fields, I would stay away from C, but it will *never* be outdated. There's a lot of legacy code out there and if it works companies usually will not risk changing it, Plus trust me if you ever have to write a windows program from scratch in C, you'd kill yourself. I'm talking about writing 200 - 300 lines of code just to setup a window and have a dialog box. ( Wow bringing back the memories..ha-ha ).

For Android programs, most of them are written in Java, for iOS it's Objective C ( god awful language). But nowadays there's so many frameworks out there, you can write mobile apps in just about any language( I've seen an Android game written in Python.. I wouldn't recommend it though. Lol)
I see (no pun).
I'm in it for PHP / Mysql which will be covered later so I don't really care about C (but I'll learn it). But considering your reply, why that CS50 focuses on C then ? Does it help understanding other languages as it is one of the oldest ? Does it gives some basic knowledge needed for other languages (Java for example) ?
Looking at C's coding structure, I can see it shares a whole lot with PHP, so even if I don't know about future courses, it seems that C knowledge may be really useful for website programming.
 

Liu Kang

KING KILLAYAN MBRRRAPPÉ
Supporter
Joined
May 3, 2012
Messages
13,749
Reputation
5,513
Daps
29,901
was wondering if I made it to hard, I usually have to go diagonal to get through the part at the top right. I just hope it isn't too hard for the instructors :lupe:
The top right was the hardest definitely. What I did was eat the blue square, wait for the red ball to go up then wait a pixel away from the right border so I could also go up after the red ball passed me. But I touched the right border a dozen times, hence the :whew:
:lolbron:
You should put a time variable to see who can finish the game the fastest :jawalrus:
 

Hood Critic

The Power Circle
Joined
May 2, 2012
Messages
24,143
Reputation
3,747
Daps
110,141
Reppin
דעת
No lover for hyper-v for the Linux appliance...:what:

Now I got to go through the trouble of converting this VM or just running specifically off my rMBP. I'm definitely going to make some mention of this...
 

gho3st

plata or plomo
Joined
Oct 27, 2012
Messages
34,641
Reputation
2,795
Daps
83,284
Reppin
2016
No lover for hyper-v for the Linux appliance...:what:

Now I got to go through the trouble of converting this VM or just running specifically off my rMBP. I'm definitely going to make some mention of this...
there is a linux version in the download page i think.
 
Top