The C language

Re: The C language

Post by dwmead03 on Fri Feb 27, 2009 1:14 am
([msg=18777]see Re: The C language[/msg])

cen wrote:They're better off just learning proper programming habits and learn the differences *if* necessary.


I believe this is a very true statement. If you have proper programming habits, having to program in another language shouldn't be too difficult. In my experience, my problem solving skills are typically just as important if not more important than my programming skills.

Again, in my experience, BASIC is still being used in the controls industry for the same reasons you stated about Cobolt. There current systems have been working fine for the past 10+ years, but when there is a problem, not many people are comfortable with BASIC anymore. For this reason, knowledge of BASIC can get you a higher paying job in controls. However, to even mess with the BASIC code you also must be knowledgeable with PLC coding, which I doubt more than about 5 people on this site have ever even see PLC logic. I wouldn't try to rely on BASIC programming as my main source of income, but having BASIC programming in your repertoire can earn you higher paying jobs.

On the opposite side, I agree with you again, cen, that learning BASIC, especially for beginning programmers, would be a waste. However, I still believe it is better to start with a language that isn't object oriented. I think that learning it is asking to much of someone learning a new language. Having to master flow control, syntax, and various other hurdles can be challenging enough for many beginners, much less creating a class and understanding the concept of instantiating that class. Sure the industry today is continually moving to OOP, but languages such as C++, C#, Java, VB6, VB.net, etc. all require basic knowledge of programming as much as knowledge of OOP. I feel that starting with a language that lacks object orientation can make the learning process easier for the beginner as well as add a language to the repertoire of the learner.
User avatar
dwmead03
New User
New User
 
Posts: 30
Joined: Mon Apr 14, 2008 11:34 pm
Location: KY
Blog: View Blog (0)


Re: The C language

Post by cen on Fri Feb 27, 2009 3:20 am
([msg=18779]see Re: The C language[/msg])

I think you're forgetting that nearly all the books out there will more than hold your hand when learning the basics. In effect, making 'which code your choose first' almost useless in the grand scheme of things when they all relatively do the same thing.

Bottom line, I would just learn one of the most common languages today, not necessarily the newer languages - The languages most widely used. By the time you understand 2-3 of these, you'll already be well on your way. And because your learned common languages they will likely be around for years to come so it's not like you wasted your time.

And if you're THAT lost - Well, that's why they make 'For Dummies' books... If you STILL can't get it, try again in a year or two. It'll come.

It takes time, but when you finally 'get it' and are able to create whatever the hell you want, it feels great. Whether you can do it in one language or in twenty.

It still feels good.
It makes you hungry for more.
It makes it worth it. :D

For those contemplating what to learn first, here is a brief list of what I would consider common languages today, and will likely be around long enough so that they won't waste your time learning them. They begin in the order in which I would personally choose to learn them, if I had to start over again. Rest assured, this is not from a noobs perspective - I have two programming diploma's and have been programming for 24 years religiously. I have also worked in the field for years, with some pretty well know companies as well (I won't say who). There are CERTAINLY better programmers out there than me, but hey - From a noob's perspective - I AM A GOD! hahaha :twisted:

However, despite this - It is of course, just my 'opinion'. ;)

HTML, Javascript, PHP, SQL, C++/Delphi, .NET

From this you would immediately have access to TONS of programming techniques that wouldn't waste your time. I would take a pause after learning SQL and focus on security issues for a while before moving on. For someone with a drive, they could design professional software in a year or two. You'll also likely be introduced to a few surprisingly useful languages on the way.

When you're ready to learn PHP, create an account with a web hosting company like x10hosting which will provide you with PHP/MySQL access for free. This IS what the big boys are using, you have access to a complete server with all the necessary features for professional web design. There are tons of free hosting sites like it too, some are better than others. I didn't put much effort into my search because I already have my own domain, but I use x10hosting as a 'personal website' - I like it because the control panel is nearly identical to my other one. And my needs are small.

The biggest bonus of learning this way is that it's also less discouraging - You will immediately begin to see the potential and gain benefits right away. You wouldn't get disappointed with the 'Hello World' example, because you'll be implementing graphics and pretty colors in no time. If you learn with C it can be a major drag. You want it all to happen, and you want it to happen now. The only output you ever get is boring text - You feel like you're training a damn parrot. And all those damn symbols and numbers aren't making any sense, and when it does eventually do something neat, you're lucky if you can comprehend it.

If that makes any sense???

I love this topic. You guys are great. I'm gonna stop now - I've smoked too much and have started to ramble... :mrgreen:

Cheers!
User avatar
cen
Experienced User
Experienced User
 
Posts: 77
Joined: Mon Jun 30, 2008 1:06 pm
Blog: View Blog (0)


Re: The C language

Post by TheMindRapist on Sun Mar 01, 2009 8:30 pm
([msg=19000]see Re: The C language[/msg])

Moved to correct forum.
Image
User avatar
TheMindRapist
Contributor
Contributor
 
Posts: 585
Joined: Mon Apr 14, 2008 4:57 pm
Blog: View Blog (0)


Re: The C language

Post by Israel on Sat Mar 07, 2009 5:18 pm
([msg=19509]see Re: The C language[/msg])

C is amazing in the fact its classified as the lowest, high level language out there. It's mostly used for writing an OS and drivers. (*nix/darwin is C) You can do apps with it, but most people use C++/Java for that. C is not object oriented, but close. You can re-use functions and header files instead of declaring objects. But generally non-object oriented means its a little harder to learn. If you ask me its about what you really want to learn.

C++ is more for writing apps and is object oriented. So its a little easier than C. But from what I understood most versions of the Windows Kernel were written in C++ even though C is used for most of its drivers.

C sharp is the microsoft version of Java. Don't know why they made it except they didn't want Sun to take over the cross-platform market maybe... don't care. I've never used it but understand its a lot like Java in that it make apps, web applets, and such. I personally would rather use Java or C sharp for no other reason that I don't like Windoze and its been around longer to be tested for bugs.

PHP is a lot like C/C++ thats true. Believe it or not, even though its mostly for webpages it can be used for stand-alone apps. I've never used it for that, but my boss did.

As far as hacking goes, the only advantage I see is since C is more useful to writing drivers its the better choice for writing rootkits. I'm not saying it can't be done in others, but C is probably the best for that. You really can't do buffer overflows in Java/C sharp, so nix those. All of these can be used for exploits and trojans and PHP is better for web based and certain XSS attacks.

Really, if you learn one and its not the one that changes your life it will not be a waste of time. Almost every language I've learned has compounded the principles I've learned in another. So just jump in there and the worst thing that happens is you learn 2 languages instead of one.
User avatar
Israel
Experienced User
Experienced User
 
Posts: 74
Joined: Thu Sep 18, 2008 9:53 pm
Blog: View Blog (0)


Re: The C language

Post by cen on Sat Mar 07, 2009 6:46 pm
([msg=19518]see Re: The C language[/msg])

An excellent read for any beginner.... Short , sweet, and to the point.

Well done Israel!
User avatar
cen
Experienced User
Experienced User
 
Posts: 77
Joined: Mon Jun 30, 2008 1:06 pm
Blog: View Blog (0)


Re: The C language

Post by Israel on Sun Mar 08, 2009 1:00 am
([msg=19543]see Re: The C language[/msg])

I try to be... Thanks!
User avatar
Israel
Experienced User
Experienced User
 
Posts: 74
Joined: Thu Sep 18, 2008 9:53 pm
Blog: View Blog (0)


Re: The C language

Post by bigdognick6 on Tue Mar 17, 2009 8:31 pm
([msg=20111]see Re: The C language[/msg])

Love this topic, bookmarked it if i ever need it for inspiration.
bigdognick6
New User
New User
 
Posts: 6
Joined: Sat Mar 07, 2009 11:57 am
Blog: View Blog (0)


Re: The C language

Post by Arhk on Sun May 24, 2009 11:34 am
([msg=24301]see Re: The C language[/msg])

Well that's it I'm dropping out of highschool (gonna do this Bill Gates style xD) to focus on coding...
~
~ Binary is my acid for the next 5 or so years....
User avatar
Arhk
New User
New User
 
Posts: 37
Joined: Sat May 23, 2009 1:48 pm
Blog: View Blog (0)


Re: The C language

Post by ja660k on Thu Oct 01, 2009 7:54 am
([msg=30309]see Re: The C language[/msg])

C is a great language to learn first.

reason because MOST other languages use the C library.
C++, C#, PHP, perl, python, java

all these have roots with the C language
yes, its not OO but agree with previous post, that to start learning syntax, logical operation, objects, polymorphism, encapsulation on object can be a bit much for a first time programmer.

C is different. (syntax + logic) + functions = a.out
the only thing about C i dont like is error messages
example :
:#> ./a.out
:#> Segmentation fault(core dumped)
:#>_
:roll:
ja660k
New User
New User
 
Posts: 2
Joined: Sun Sep 21, 2008 10:02 am
Blog: View Blog (0)


Re: The C language

Post by Dr_Phil on Thu Oct 01, 2009 11:20 am
([msg=30312]see Re: The C language[/msg])

Starting with a pretty low high-level language is good, you will soon understand the general syntax of programming and you sure will get some great basics. People who have just done PHP usually have some ugly habits, like this:
Code: Select all
$i = "5";

But people who have been using a stricter language will almost never do such ugly things.

On the other hand, starting with a language like C will be hard, especially when you are new.
When you are new you want to see results, writing lots of code to get a small result is not what you want.
If you are new, C will be almost as easy as writing machinecode with notepad.

I think it is better to start of with C++, which is very strict but you still get a result faster and with less job.
And you probably will get the same understanding about types, pointers and such (and also get to know OOP) without having to write and understand very difficult code. With C++ you will also get to know a language which are widely used, used much more often (at least for real programs) than C.

And when you have learned much about C++ I think you should switch over to an easy language, like PHP, Python or maybe even Ruby. That way, you still have some good basics but now you will be able to get a big result with less code, and therefor can stop concentrating on all the pointers and such in C++ and instead start to focus on writing good and useful programs.

That is at least my opinion.
Last edited by Dr_Phil on Fri Oct 02, 2009 12:37 pm, edited 1 time in total.
Dr_Phil
Poster
Poster
 
Posts: 171
Joined: Mon Sep 01, 2008 12:36 pm
Blog: View Blog (0)


PreviousNext

Return to C and C++

Who is online

Users browsing this forum: No registered users and 0 guests