[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/sci/ - Science & Math


View post   

File: 246 KB, 750x489, nuit-blanche_2010_dean_01c.jpg [View same] [iqdb] [saucenao] [google]
1963478 No.1963478 [Reply] [Original]

Hey /sci/, I'm just curious about this field of study seeing as how I want to go back to school for this (I originally studied accounting).

Anyone here a comp. sci. major or already an established programmer? What's the job market like? Is it possible to make a living off of doing your own independent work? What languages are best to know and start off with?

I've just started learning C on my own a couple weeks ago and I'm really enjoying it. I feel like this is something I could really get into. I had the sudden career changing thoughts after I realized that I didn't want to be an accountant for the rest of my life.

Pic unrelated; just a nice picture of some dude in a tron suit in my city.

>> No.1963507

A lot of the code money work is being outsourced to India, but there is still plenty of work if you're a pro.

The only people I know who do their own independent work are Iphone developers, and webdesigners. Web-design isn't going to be fun if you love figuring out cool algorithms in C, because its mostly doing the exact same tedious shit but slightly different for every customer.

You should consider getting a computer engineering degree instead of compsci, its much better.

>> No.1963524

>>1963507
Well application and webdesign is exactly what I was thinking of getting into anyway. Maybe independent game design (I have some ideas that I want to churn out, not your typical games though, mostly stuff to show off new ideas).

Maybe I'll go to school, get a couple new friends, and start my own team? I'm already well trained on the business side of things due to my first field of study.

>> No.1963674

What programming languages are best to start with besides C?

Java? Python?

>> No.1963681

>>1963674
C is not a good starting language.

Scheme, Python, Lua

Scheme has the best resources for real computer science. Python has the best resources for someone who wants to learn to program python. Lua is a better python, closer to scheme, small and made to be embeddable, but overall doesn't have a ton of resources.

Still, I'd recommend those three in that order.

>> No.1963686

>Anyone here a comp. sci. major or already an established programmer?
Yes and yes.
>What's the job market like?
No idea.
>Is it possible to make a living off of doing your own independent work?
Certainly.
>What languages are best to know and start off with?
Whatever language you enjoy. It doesn't matter too much, really. I usually recommend Python to those who have no idea where to start, but if you're already working on C and enjoying it, by all means keep going.

>> No.1963691

>>1963686
>>1963681
My friend who is a pretty avid programmer told me that C is the best to start with since so many languages were pretty much spawned from it (and I do want to get into C++ anyway). But I've also heard Python is a good one. I might do that next.

Thanks for your input, guys.

>> No.1963699

>>1963691
I'm not saying C is a bad language to know, and I'm not saying that you can't start with C. As the other guy said, if you're happy programming in C then by all means stick with it.

I just think you'll come to find frustration very quickly with C when you try to accomplish anything of merit, and that frustration is because of the way C works, and I'd hate to see another person turned away from programming because C makes things unnecessarily difficult.

>> No.1963702

>>1963681
But... C/C++ are used EVERYWHERE. And they teach concepts that apply to pretty much all higher level languages. It may not be the easiest to use, but I would say it's the best thing to LEARN first. It worked for me.

Also, OP, the job market is really great for software engineers. And it's only going to get better in the coming years. You've made a good decision. I mean, do you really want to be an ACCOUNTANT for the rest of your life? Wouldn't you rather be using your brain, making cool stuff?

Also, I'm sure you would be able to make a living off your independent work... if you were experienced enough.

>> No.1963710

>>1963702
It didn't work for me. I was turned off immensely by C++ and practically gave up programming. Java provided a short reprieve but then I was back to thinking, "It can't be like this. Can't be." Thankfully I stumbled into Python and then the lisp family before I was turned off entirely.

And I say this as a guy that uses C all the time to program microcontrollers.

>> No.1963711

>>1963699
It's a tradeoff. Sometimes C is better for this reason, sometimes it is not. For my job, I need to write heavily optimized, low level code. Everything on the project (except for the GUI) is programmed in C/C++. I'm also working on a video game independently, and using C#, which gives me a MUCH higher productivity. I can't imagine swapping the languages, in either of those cases.

>> No.1963714

>>1963681

Don't be an idiot.

C is fine as a starting language.

OP you're on the right track.

>> No.1963718

>>1963711
>>1963711

>For my job, I need to write heavily optimized, low level code.

>Everything is in C/C++

C isn't low level. ASM would be low level.

>> No.1963723

>>1963718
Being low-level isn't a boolean measure. Yes, assembly is lower level than C, yet C is lower level than most other languages (besides assembly) in common use today.

>> No.1963725

>>1963714
If you're programming 8bit computers C is a wonderful abstraction from assembly. If you're programming quad-core 64-bit processors, C is fucking retarded. It's the waterwheel in the age of hydroelectric dams.

>> No.1963731

Once you get good enough as a programmer, it shouldn't matter what languages you study. You just need to be able to recognize the differences between them, and which ones to use in different situations.

Computer Science is more about the process and the general concepts of how do we (humanity) effectively gather, make sense of, and use information. It's not about the nitty-gritty language semantics bullshit people always get caught up in.

>> No.1963733
File: 54 KB, 350x444, 047008716101_sclzzzzzzz_.jpg [View same] [iqdb] [saucenao] [google]
1963733

I legitimately just logged on to /sci/ to ask this exact same thing and I see this post at the top of the page. I'm currently a IT headhunter and I'm looking to get out. From my experience Java and C# seem to be the most in demand so I don't know which one I should focus on. Also does anyone recommend tech schools or should I just go back and get a Comp Sci degree (already have a BA, I know, what a waste)

>> No.1963736

>>1963725

That's why most OS are written in C/C++ with ASM extensions... I program in C for most things, it's better than almost all other languages if you know it well.

>> No.1963743

>>1963733

C# and Java are 90% the same language. It doesn't really matter which one you pick. Although I would personally pick C#, since you get Visual Studio along with it.

As for schools, I would go get your BS in Comp Sci. If you just go to a tech school, you will either be a server monkey or a code monkey. Neither one of those is very fun.

>> No.1963745

>C is the best to start with since so many languages were pretty much spawned from it (and I do want to get into C++ anyway).

Stop RIGHT FUCKING THERE. C and C++ are two very, very different languages. If you want to get into C++, then learn C++ from scratch. You will do more damage than good to your C++ skills if you get into the C mindset first. You will need to unlearn C before learning C++, and vice versa.

>> No.1963746

>>1963731
Which is why I recommend Scheme, having the best computer science book known to man, The Structure and Interpretation of Computer Programs.

slash-fucking-thread

>> No.1963748

Ah, yes, C. The language that combines the speed and power of assembler with clarity and ease of use of assembler.

>> No.1963751

>>1963745
This is common C++ propaganda but when you learn C++ you'll see that, ultimately, half of the "solutions" C++ offers you as duplications of C features are poor replacements, and you end up writing C-style interfaces because they're a stable ABI, and once you start injecting C-style solutions, they tend to propagate backwards in strange ways.

C++ is such a religion in makes me sick.

>> No.1963764

Read SICP (formerly used in CS101 at MIT):
http://mitpress.mit.edu/sicp/full-text/book/book.html

Or if that feels too abstract and oldschool, read How to Design Programs, used by MIT currently:
http://www.htdp.org/2003-09-26/Book/

>> No.1963810

>>1963751
Bullshit. C++ isn't to blame. OO programming is useful, but it isn't the next coming of Christ. Most things that make C++ easier to live with are not core language features, but sdl and/or boost extensions. Both C and C++ are enforced as industry standards in certain fields and both are outdated and ugly as fuck. C is downright ancient.

When I need to code a game I reluctantly use C++, pick a good multimedia library, and steer clear of most of the idiocies of OO programming.

When I need to quickly make a business app, I just give up, use Visual Basic, and sleep like a baby.

>> No.1963831

>>1963702
>You've made a good decision. I mean, do you really want to be an ACCOUNTANT for the rest of your life? Wouldn't you rather be using your brain, making cool stuff?

Yeah, and the funny thing is I've worked for some of the best/most laid back companies. First started working for my friend's parents' companies, then I got a job with Virgin Mobile (no dress code, frequent parties, awesome people, great bosses, work is fairly easy), and I realized that if I'm miserable working for companies like these, then it's only going to get worse.

That's when I decided it was time for a career change.

Thanks to all in this thread. Learned some good things.

>> No.1963872

>>1963745
As an EE the programming courses we took went from C++ to ASM later. I toyed in CE for awhile, but trying to do C after knowing C++ quickly scared me away from CE. I'm basically saying I agree with this guy.

>> No.1963891

Where can I find all the new shit that's been added on to C++. I was a wiz at it 10 years ago, and I look at C++ code now and I don't know what the hell is going on. Online C++ tutorials just tell me the stuff I already know.

>> No.1963890

>>1963810
Of course, no one *ever* blames C++, only C++ programmers, and programming styles. C++ is a pure, consistent, beautiful language for generic programming, bless Bjorne. If you're not hip to its deep ways then you're just a failure.

Just like religion. Oh, *Islam* is peaceful, it's just those nasty terrorists misinterpreting. Christianity is reasonable, it's just those Kansas fundies ruining everything.

>> No.1963893

>>1963891
Just wait until C++0x. LOLOLOL

>> No.1963899

>Computer Science
>programming
>job market
>Java
Get your ass back to IT.

>> No.1963920

>>1963899
What? Why do you have to be such a jerk? I mentioned Java because I'd like to learn some of the popular programming languages. Sorry if it's not cool enough for you?

Everyone else in this thread seemed to be helpful, you're just a jerk.

>> No.1963948

>>1963920
It's not cool enough for me. Java is shit because people who write Java write shit code, the same goes with C++. Also, there's nothing special with those two languages, they're both just the de facto standard when it comes to industry. But that's just IT, and fuck IT. If you want to join the cool kids on the block, learn Python, Scheme or even some fully functional programming language (and of course C, the razor of programming languages). Frankly, Python is the shit.

>> No.1963970

im a science computer teacher.

Depends on how deep you want to go.

If you just want to build websites, just learn php like all the other nuubs

Otherwise, C is the simpler starting point if you want to understand the most of your system.
Contributing to an open source projet for a few years is the best solution, it gives you access to knowledge AND experience.

>> No.1963973

>>1963948
Do you even know the difference between IT and CS? Most people just vomit them around thinking they're interchangeable, but that's first class bullshit.

>> No.1963978

>>1963718

despite the evolution of the language, C started as a "portable assembler" and is still a little

>> No.1963988

OP you should have known before hand
You can spot accounting people on the streets. They're very organized and anal.
Anyone who doesn't fit the mold is bound to go crazy in that field.

>> No.1963997

>>1963890
> People like C++ like a religion, it is full of propaganda, and its C-like features immitate C badly C IS BETTER THAN C++ SEE GUISE
Hipocrisy much?

I have nothing against C or C++ and am in neither camp. I merely pointed out they are two very different languages and learning one will not help you at all towards learning the other one, and might indeed do more harm than good. You, however, are a perfect example for what happens when someone fluent in one of these two learns the other, sees it do things differently, then sticks to his first choice because that's how he learned to do things.

OP, some more businesslike advice. Web development is a very job-rich environment compared to good old regular programming. Plenty more individuals and businesses who need custom-made websites than custom-made applications. Java is a solid choice in that regard, and it has numerous other applications (for example, mobile development, which is booming right now).

Another thing. A language does not live by its syntax alone. It lives by its libraries, code base, amount of tutorials, and cross-platform support. That's why, for example, the hideous C/C++ are industry flagships by sheer inertia, whereas D, which is much more logical ant less idiotic to look at, is obscure and will die.

>> No.1964036

>>1963997
Your attempt at seeming the disinterested, objective observer is factually incorrect, however. Only C++ propaganda suggests the languages are distinct. In fact, C++ major support for C was what ensured it could get off the ground in the first place. Even disregarding that, C++ compilers still are broadly incompatible at a binary level which means most interfaces are C-style interfaces, something that one couldn't understand if they'd "unlearned C." Forward-declared structs ensure encapsulation that C++'s shitty OO model couldn't provide.

One cannot into C++ without C. C++'s use is driven by pragmatic considerations in the first place, and at that level of consideration, knowledge of C practices are absolutely essential to using C++. If you want to talk pure PL theory, fine, C and C++ are separate. But if you're at pure PL theory, you're not using C++.

> then sticks to his first choice because that's how he learned to do things.
C++ was my first language.

>> No.1964052

>>1964036
>One cannot into C++ without C
Go back to bed Timmy.

>> No.1964072

>>1964036
>Only C++ propaganda suggests the languages are distinct
C and C++ are distinct languages. Otherwise they'd be called C and C, respectively.

>> No.1964097

"If your hammer is C++, the whole world looks like a thumb."

But if you're one of those wizards who doesn't get frustrated with C already, you could give C++ a shot too.

>> No.1964104

This is now a quote thread about C++.

> C++ is a language strongly optimized for liars and people who go by guesswork and ignorance.

> I believe C++ instills fear in programmers, fear that the interaction of some details causes unpredictable results. Its unmanageable complexity has spawned more fear-preventing tools than any other language, but the solution should have been to create and use a language that does not overload the whole goddamn human brain with irrelevant details.

>> No.1964110

Learn D.

>> No.1964113

>>1964104
>How C++ is like teenage sex:
>It is on everyone's mind all the time.
>Everyone talks about it all the time.
>Everyone thinks everyone else is doing it.
>Almost no one is really doing it.
>The few who are doing it are: A. Doing it poorly. B. Sure it will be better next time. C. Not practising it safely.

>"The evolution of languages: FORTRAN is a non-typed language. C is a weakly typed language. Ada is a strongly typed language. C++ is a strongly hyped language." — Ron Sercely.

>> No.1964205

java, hands down.

it's an ugly, slow language for retards, that no one with any sense of aesthetic, passion towards coding would ever pick, but...

after years of digging in c++ i had to switch to java only to discover that all the good programming practices, all the efforts, tears and pain, that made me who i'm today, all the experience is pretty much worthless, because java enforces all this crap from the beginning, giving everyone years worth head start.

so frustrating... ;_;

>> No.1964210

>>1964205
Congratulations, you've just been dragged halfway to lisp.

>> No.1964798

What's the best language to get into for game design? I guess it would depend on the platform, but what's most common anyway?

>> No.1964806

>>1964798
"Game design" meaning... what, exactly?

Scripting? Python or Lua.
Writing graphics engines? C, C++, and assembly.
Level design? 3D editors.
etc

Games require broad knowledge.

>> No.1965850

>>1964036
>One cannot into C++ without C
>C++ was my first language.
Uuuuh huh.

>> No.1966058

>>1965850
There's no contradiction there. Standard C++ practices involve using C practices. Learning C++ as a first language doesn't involve this. But first languages have no practical needs, either, like compile-time encapsulation, stable binary interfaces for third parties, etc.