[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
Suppose I wanted a job programming, but only knew the C language.
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 61
Thread images: 8
File: c-programming-featured-image.jpg (6 KB, 248x243) Image search: [Google]
c-programming-featured-image.jpg
6 KB, 248x243
Suppose I wanted a job programming, but only knew the C language.

Am I gonna need to know more than this for even a basic job, or are there jobs I could get where I only needed to know this?

Can an American even make money only knowing C anymore, or will I pretty much be required to learn web design and other languages to get a regular 9-5 coding job?
>>
maybe, go on glassdoors, I've seen a couple jobs that want you to know C. But I've seen more that want you to know Java.
>>
There are definitely C programming jobs. Systems-level programming is still very much alive and still makes extensive use of C. For example, you could get a full-time job contributing to Linux at any number of software companies.

You probably won't get one of those jobs. They are pretty rare and require very skilled people. Knowing one language means you're a beginner. I can't think of any jobs that require C where I would trust a beginner.
>>
>>53635227
OP here.

So what you're telling me is I'm gonna have to learn Java, maybe/possibly Python?

I'm looking for a regular type job, preferable to one where I work just living from app building to app building.
>>
>>53635243
? Learn another programming language man. Even if there are jobs that need C-Programmers, they're going to hire the load of people who have more than one programming language under their belt over you.
>>
what have you written in C?
>>
>>53635243
If you know one language fairly well, learning another truly isn't that hard. Especially when most languages tend to be easier and more forgiving than C. Go find a good resource with Java, Python, JavaScript, and HTML at least and you'll have a shot at most jobs in the market.
>>
>>53635243
Languages don't matter. A skilled programmer can pick up a new language in two weeks. But if you only know one language, you are almost certainly not a skilled programmer.
>>
>>53635300
OP here.

Right now I'm learning C and practicing Common LISP. I WANT to learn more languages, but I also want to be able to start working sooner than later. It's not a 'I don't want to learn anything more' for me, so much as 'Can I be making money and then learn more as a hobby'?

Ideally I'd like to learn assembly and hex and be able to play with micro controllers and fiddle around with the hardware to create operating systems, but that's well and away anything I'm capable of right now.
>>
>>53635343
>Common LISP
I thought you wanted a job lol
>>
>>53635343
You desperately need to find some job that brings in cash to pay the bills while you learn more. You could learn a decent number of languages in a few months and make sure you can pass a FizzBizz
>>
Start .net it takes max 3 month to make you well for initial job. I can help you with that in clearing interviews and concepts.
>>
If you want to get paid to program for someone, you need to learn languages that provide value to employers.

It doesn't matter what you personally enjoy, what you think is the best, or what you wish was more popular. You have zero influence on the industry and making a martyr out of your own career only hurts you.
>>
>>53635397
I never thought of adding that to my list too. Good call. Java, JavaScript, HTML 5, Python, and .NET would make you well rounded for just about anything.
>>
File: cover.jpg (51 KB, 400x579) Image search: [Google]
cover.jpg
51 KB, 400x579
>>53635356
OP here.
haha I know right?
I'm mostly learning LISP because it's what this book was written with. I'm working my way up to it. Or trying.
>>
learn javascript next, fastest path to a job (webdev/front end)

after you've learned 2 or 3 languages they start to get easy to pick up
>>
OP again. Okay, so. Already got Common Lisp and C in my bag.

.net
Java
JavaScript
HTML5
Python

This is the recommended grab bag of languages and other stuff if I want to make money coding. Okay. I can work with that.

Anything else? And, can anyone rate this list of 5 on a scale of importance based on "how easily you can find a job?"
>>
>>53635534
have you had a look at local job listings or talked to anyone locally in the industry? if you want an idea of what you should know to find work where you are then ask those providing the work.
>>
>>53635534

JavaScript can get you a job extremely easily, from small startups to fortune 500 companies. .NET and Java are about equal in terms of company adoption, and companies who use it tend to be more "traditional", in terms of company structure, job security, and professional atmosphere.
>>
>>53635534
I would start with JavaScript, then move to HTML5 and the others kind of fall into the same order of importance and I like to use ruby as a down and dirty way to write scripts to do repetitive tasks. Other than stuff like that though Ruby isn't the best language so keep it low on your list
>>
>>53635343
Man are you following what g says? Please don't do so. Yes C is pure, LISP would have been awesome with a modern touch but in reality no one is actually using them for higher level software which is like 90% of the jobs you can apply at entry level. It is a good thing you are learning them because you would have a nice view on where things developed from but again people don't really use them that often.

But if you are going to do lower level stuff like microprocessor programming then you have the tools you need now.
>>
>>53635931
He's most likely not going to get that kind of a job right away. It takes a little bit of experience to prove you can write code before people hire you to write code that interfaces with the actual hardware. It's a matter of taking steps to make the chances of getting the job you really want stronger. For any position, I would rather hire someone who can code and script in multiple languages because that shows me they have a deeper understanding of how languages actually work.
>>
>>53635176
>>53636037
My recommendation, OP, is to learn the languages and get a job where you do get to code and keep track of the projects you work on so you have plenty to put on your resume when you go for the job you truly want. Sometimes you have to ruck through shit to get what you really want and it's all about looking better than the rest of the applicants.
>>
I would say java give better prospect.

Inexperienced java programmer start by working with some startup android app company.
It's fast paced and one time coding.
Don't bother writing quality code because you'll have to proceed with other kind of app.
Rinse and repeat.

Experienced java programmer otoh works as a server side software.
Companies are banks, online e-commerce or medium/large private sector.

Of course, everything have exception but this is my experience working with java.
>>
>>53635931
OP here.

The reason I started with LISP first is sorta because it was desperation on my part. I have a severe learning problem. I'm not saying, "wah wah I have ADD give me special treatment," I'm saying with my short term memory issues, learning anything that isn't immediately clear to me is impossible, so learning from books or interfacing with text I can't speak to and ask questions becomes like a whitebread Beaver Cleaver type trying to learn the plot of Hamlet from some asshole speaking it in Jive.

So I did what any reasonable dumbass did when you're surrounded by people that refuse to do anything but bark acronyms like they're a 5th Degree Pokemon Nerd. I tried to find someone who knew what I wanted to learn and could explain things when I didn't understand. Which is a grim prospect, since programming being like math, it's like trying to find a math teacher that won't just try and "help you" by reading the text of the book you don't get over and over again until you miraculously comprehend it.

I found a pill popping Californian candy kid computer wizard that could've been making millions of dollars a year with their level of knowledge and aspie level comprehension. The kind that if you caught them late at night, over tired, and sent them a message in hex, they'd have just replied back in hex without even thinking about it or realizing what they did before they sent it. Just utterly joyless and reflexive erudite knowing. Unfortunately, while they could explain things to me in a way I could understand, they were also incredibly interested in pushing LISP on me to start with, as it was the way up to the SICP. It became clear to me that they weren't interested in helping me learn, otherwise.

So fine, I thought. I'll put off learning shit that may get me an immediately pizza delivery boy level job and learn this art student alternative language

Then after I committed to it, they fucked off to go do drugs and study music and never spoke to me again
>>
>>53636274
I only skimmed your response (and wasn't really careful the whole time) because it was too long, too personal and unrelated. Make sure you are ready to cut these kind of talk in a professional environment.

It's okay during lunch breaks and when you are trying to slack off but this is 4chan, a very serious chineese cartoon website.
>>
File: rare vin.jpg (11 KB, 480x360) Image search: [Google]
rare vin.jpg
11 KB, 480x360
>>53635463
>he fell for the SICP meme
>>
>>53635176
There's literally only 100 jobs in the world for C programmers. It's pretty much just a hobby language/teaching tool these days.
>>
>>53636376
was it meme status in 2012?
>>
>>53635176
My job only REQUIRES you to know C, but everyone knows other languages because C isn't well suited for everything.

I don't think anyone with just C on their resume would get hired here because it's expected that if something needs to be done in a non C language, we can pick that language up quickly and do whatever needs doing.

And honestly, by the time you get to the level where you can do the kind of work that can only be done in C (embedded systems and kernel development, for the most part), you'll have at least picked up something like bash because it's just too damn convenient to not learn.
>>
>>53636568
So I should add bash to the list?
>>
>>53636616
From what I've read of your posts, I would only learn the basics of it if you're using Linux. It's one of those languages that won't get you a job by itself, but once you do get one, it can save you a shit ton of time. It's great for facilitating laziness.

I'd put JavaScript at the top of your list. I got my first job in JS as a college dropout with no practical experience to speak of. Now, a year later, I'm doing Linux kernel development/embedded systems in C. I got really lucky with that though and had to work my ass off to learn everything I needed to.

The thing about JavaScript (and HTML/CSS) is that everyone needs it these days. No company can get by without web developers, and solid front end development is extremely important nowadays because users expect more from their web apps/sites than they used to.

Plus, JavaScript is one of those "easy to learn, hard to master" languages. This means truly talented front end devs are somewhat rare, and if you can show an employer that you actually know what you're doing with the language, you'll be in a good place.
>>
>>53636274
>short term memory issues
Man, I relate to this like crazy. Ironically, that's what forced me to develop habits my coworkers love about me.

The main one is keeping detailed notes in a text file in the form of a todo list. I keep it open at all times, and if there's anything that doesn't come to me immediately, ill throw it in the list. The only reason I did this at first was to help myself remember all the shit I was supposed to be doing at any given moment. But I never deleted completed items on the list.

Turns out, this lets me answer questions about things I did months or even years ago with insane detail or give the command for some obscure thing I did a while ago at the drop of a hat.

Basically, because I forget everything, I now have a reputation for remembering everything.
>>
>>53636826
OP here.
I've actually never touched linux, as of yet. I plan to, but haven't yet. So, 'play with Linux' is on the list as well.

And I've been so wary of web development because I've felt for 12 years that India and China were just going to clean house for slave wage prices doing that stuff, so I spent most of that time mourning it and looking for more secure/profitable future ventures.

but, if it seems to be where the money is, and effort and experience and talent matter....

guess it's worth a look.
>>
>>53636985
OP here.
Note taking is a skill all on its own, too.

My thing is if I'm not understanding what I'm reading, I can't even eventually piece it together. Whether I learn something or don't depends on the way it's expressed to me. If I misunderstand, it's incredibly hard to unlearn and relearn. I get confused and it refuses to straighten out on its own. This is made worse by the fact people think the way to teach you is to rub your failure in your face until you "stop being lazy" and learn right. I can't do that.

But if I learn right or am taught right the first time, I can pretty much execute what I'm doing perfectly. To where to this day I can still type up Game Genie codes from memory, as if it were yesterday.
>>
>>53636987
Fuck India and China, man. If you learn how to do things right and practice hard, you'll be able to code circles around most offshore coders in no time. Most people know you get what you pay for when it comes to offshoring. In that case, they're paying for blind copy pasting from stackoverflow. I've seen the results and it's not pretty.

Plus, what you have that they don't have is the ability to sit down and chat with a client about their needs over a cup of coffee. That's priceless from what I've seen. If you aren't good are talking to people, I'd say getting that under control should be near the top of your list as well.
>>
>>53637089
Thankfully I'm not that far gone, and I happen to have a stiffy of giving clients what they want and also offering, if they're interested, options and additional things, without bogging them down in academic or artsy bullshit or a million swatches.

I would've thought that India and China would've developed a rigorous native programmer culture in addition to learning English by now, but...
maybe they're not as efficient as I imagined.
>>
>>53637020
You're going to have to get good at teaching yourself this stuff and not get frustrated when you're hitting a wall. Programming is hard as fuck, and there's a shit ton to learn before you can even start doing useful things with it, and several shit tons more from there. My solution if I'm hitting a wall is to take a step back and go find another wall to bang my head against until the first wall seems manageable.

>>53637168
>I would've thought that India and China would've developed a rigorous native programmer culture
HA. They have what could be considered a rigorous programmer culture, but it's not the right kind of rigorous in my opinion. They tend to play a very short term game. They learn only what they need, and they shit code out without much consideration for how maintainable it will be. They see the job in front of them and not much else. It lets them implement things quickly in the beginning, but makes it insanely hard to expand past a certain point.

American programmer culture tends to idolize elegance and maintainability. Sometimes people get their heads up their asses with it, but generally, the idea is not to code like an asshole and make whoever's job it is to maintain your code awful. There's a lot more to it than that, but that's one of the biggest differences I've seen.

Plus all the good Indian programmers move to America and become American programmers anyway.
>>
File: laughingoldman.png (246 KB, 415x295) Image search: [Google]
laughingoldman.png
246 KB, 415x295
>>53637364
OP again
Sadly, the glacial pace of my learning problems means I have to teach myself the whole gamut before I begin, or I WILL undoubtedly not have the answers I need while running, hit a wall, and lose a job. I know this to be fact. Which is exactly why I made this thread, because there's sooooooooo much to sift through and learn and memorize and get good at, I want to have the answers before the question is asked. It is the only way to not put myself in debt and jeopardy.

And... having inelegant code and leaving someone else a sloppy mess sounds like a nightmare. It just ain't neighborly. But then I guess with the Chinese, it's something you see in their construction practices, too...
>plus all the good Indian programmers move to America and become American programmers anyway.
Haaa.
>>
>>53637487
I think you're underestimating yourself or overestimating other programmers. It's kind of understood that you'll have a shit ton to learn at your first job. As long as you don't straight up lie about what you know, you'll be fine. Ideally you'll learn more in your first job than you would have in years of working on your own.

If you enjoy programming, you should go for it. That's the main thing I see that can predict whether someone will end up getting good or not.

You only have to be so intelligent to program. Actually, a big part of it is recognizing that the computer is often smarter and more reliable than you and letting it do the heavy lifting. I've noticed some of the best programmers saying words to the effect of, "I invented this awesome new solution because I'm too stupid not to fuck things up with the way people usually do it."
>>
File: sn-vacuum.jpg (58 KB, 1280x720) Image search: [Google]
sn-vacuum.jpg
58 KB, 1280x720
>>53637627
it's more frustration because I can't meet deadlines to teach myself things in any meaningful way. So this hobby education really is a hobby with a long term goal. I've had my learning problems confused as incompetence before, and it just destroys me when I'm penalized for it. And I can't count on people being cooperative to explain things when I need them, just eventually, so being as independent and educated as possible seems like the only possible way forwards.

I do like formulating algorithms and trying to figure out the most efficient ways to express something. Even if what I type is quite purple prosey.

it'd just be a scream to develop hardware level code for things like photronic circuitry or nano vacuum tube based circuits. I would love to develop niche devices that are utterly immune to EMP and shit.
>>
>>53636274
Son you should write a novel, not program. That was gorgeous
>>
>>53635176
Knowing only C won't get you a job. You either need to know AVR/STM or some niche frameworks/libraries for this language.
>>
I see a lot of people in this thread recommending java script. I'm interested in the language, but where do I even begin? Online courses, books, a professor, where is the best place an inexperienced man such as myself can start?
>>
>>53638080
Tried writing novels. Because of my living situation, what I write winds up being erased thanks to circumstances outside of my control. Every time.

I'd rather not get into it, but lets just say I'm trying to find a way out.
>>
Why is Cmake so fucking retarded ?


Simple code runs just fine in VS 2015 and Qt but bugs the fuck out in Clion;

Refactored the file name .c , initially used -Wall -Werror flags since Clion is default on C++ but apparently i can't use the for function if i don't have the -std=c99 / -std=gnu99 flag, tried them both and still doesn't work.(refreshed the cmake file too)


Disgusting
>>
File: 1441934450667.jpg (12 KB, 250x250) Image search: [Google]
1441934450667.jpg
12 KB, 250x250
>>53635176
you need to know C and then a *lot* of language-agnostic skills, along with 5-15 years experience with embedded/RTOS, along with some low level networking skills with a sprinkle of driver development. C is the easiest part.
>>
>>53638995
embedded rtos?

knowing driver development actually doesn't sound so bad.
>>
File: 1337394806773.jpg (293 KB, 700x849) Image search: [Google]
1337394806773.jpg
293 KB, 700x849
>>53639052
>embedded rtos?
embedded systems?
real time OS?
do you not know what these are and looking for a job using C?

>knowing driver development actually doesn't sound so bad.
of course. but finding a project to work on to develop your knowledge is non-trivial. there's also a steep learning curve for the required background knowledge.
>>
>>53639090
Yes well there's a difference between "I am studying the language and am curious about my prospects in the future" vs. "I am ready and able to put my knowledge and experience to the work force right now."
>>
>>53639124
Ah. Ok. So then,
>Am I gonna need to know more than this for even a basic job
yes, you need to know more. you won't even have a good grasp of the language by just knowing C and not understanding say, asm, or the kernel, or your target architecture, etc.

not to mention this in a bad question to be asking as you can't know /only/ the C language. you will unavoidably learn plenty things accomplishing that single feat. anyone trying to answer this is going to make wide and generous assumptions, which isn't what you want.
>>
>>53639248
I've accepted that with programming, you won't get any straight answers and will instead have to dig through the carousel of bullshit that is other people knowing more but communicating less than I need. But at least somewhere in the funhouse of completely pointless communication there will be at least a crumb more information than I had before.

It sucks that getting information is such a fucking wild goose chase, but there it is.
>>
File: stop-whining-and-get-busy[1].png (40 KB, 600x700) Image search: [Google]
stop-whining-and-get-busy[1].png
40 KB, 600x700
>>53639307
oldfag here. i had to learn by myself, when internet didn't exist. i didn't know anybody who could teach me. i was barely able to understand English , so i had to learn that too; and spend most of my savings on buying books. i have not the best of memories either.
get over it
>>
>>53639943
I am getting busy. I made this thread to make the most productivity out of my being busy.
>>
>>53637364
Programming is not really hard as fuck. 80% of the time, bugs are just stupid errors in syntax.
>>
>>53640071
OP here.

My nightmare involves getting a bug which isn't a syntax or semantic error, it's an effect/side effect of something I don't understand.

Like, imagine the math checks out, but maybe there's something wrong with the way Compiler A does something compared to Compiler B.

That terrifies me, because compilers are sort of this eldritch tomes of what do I even do with this. I worry about being stuck on a deadline trying to figure out how to change or work around things I'm not even sure how they work.
>>
>>53640071
>80% of the time, bugs are just stupid errors in syntax.
What are you, a student? You should be using a linter to clear up syntax errors and shit like that.

If you think programming is that easy, you're either really experienced and have forgotten what it's like starting off, or you need to find more challenging work.
>>
>>53640071
>80% of the time, bugs are just stupid errors in syntax.
Found the dynamic typing programmer
>>
>>53635176

Hey OP,

If you know C and want to work with it, the next logical steps would be:

Learn C++ (not only the language, but also the concepts of classes and objects)

Do 3 intersting middle-scale projects where you use different frameworks/libraries for C/C++:
>http://www.thefreecountry.com/sourcecode/cpp.shtml

I'm a Java guy, but I can tell you it makes a difference if somone says "I know Java" or if someone says "I'm develloping Java applications with Spring, Maven and Hibernate".

Just figure out which kind of work you want to do (develloping games will require different tools, programming boards and machines will require different tools, making linux programms will require different tools). Then find an appropriate framework and play arround.

It will make a difference.
>>
you can only get a job with C if you can prove complete competency.
>>
>>53640071
t.second semester CS student
Thread replies: 61
Thread images: 8

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.