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

So the C# shill was posting last night, he nearly convinced me.

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 71
Thread images: 7

File: shutterstock-programming.jpg (1012KB, 3888x2592px) Image search: [Google]
shutterstock-programming.jpg
1012KB, 3888x2592px
So the C# shill was posting last night, he nearly convinced me.
One question remains tho, for a beginner in programming, is it better to learn a low level language like C and work your way up to C#? Or the opposite?
Discuss.
>>
High level to low level
>>
And why?
>>
File: CxAkVTgXUAIc5uu.jpg-large.jpg (44KB, 860x608px) Image search: [Google]
CxAkVTgXUAIc5uu.jpg-large.jpg
44KB, 860x608px
>>57602759
so you dont get frustrated like me and not practice programming for a year straight :(

start with ruby <3

http://tryruby.org/levels/1/challenges/0
>>
Anyone can understand C# or JavaScript. It's just basic logic. The mistake people make is learning all the basics and then immediately trying to tackle a large and/or difficult project. Just take it slow.
>>
Programming is a tool. Use it to create something that you want. If you need to create something like a website, look at the tools for that. Then, pick the tool that you believe will be the best for the job.

Doesn't matter what you learn. You know how insecure and socially awkward this field is? You know how many people go around saying they use Linux and only code in C++ to make themselves feel better because of their shitty lives? Who gives a fuck, you nigger. You're programming for yourself, not to please some socially awkward weeb.

Unless you want to be a code monkey for the rest of your life... Then just learn anything you can... But I honestly don't know why you'd waste your life like that. Programming is one of the only fields where you can TRULY express yourself and do whatever you imagine without limitations. Why would you waste it working for someone else?
>>
>>57602717
It's not like a series, you aren't expected to know one without the other.

High level languages are generally reccomended for beginners

but it's kinda silly to make choices based on what will be easier for you, when a couple generations of people all started on lower level languages and did just fine.

C# is a solid language in performance and usability, coworkers call it microsoft java from a few similarities.
>>
>>57602892
/thread
>>
>>57602794
>>57602892

Any programming language is just basic logic if you stick to the basics
Any preference for a language should follow from the constraints of the domain you're programming for.

That said though, C# +JS should get you into corporate programming. Smaller shops will stick to the framework the founder is familiar with, which might be python, ruby or php.
>>
>>57602986
I'm not trying to go the easy route, I'm trying to go the most "logical" route.
>>
File: 3130965-1860028176-49249.gif (2MB, 336x167px) Image search: [Google]
3130965-1860028176-49249.gif
2MB, 336x167px
>>57603091
so then write your own kernel with 1s and 0s fgt
>>
>>57602892
That's the opposite of what you should do. This is why we have so many people taking one codecademy course and saying "omg I iz coder!!!!"

OP, get a book on language relevant to a large project you want to accomplish, then Google how to do stuff until you can do your large project. You will be a much better programmer in the end.
>>
>>57603091
If by logical you mean something that delivers good performance without taking away programmer friendliness, yes.
I use C# to make private servers for games, and anything I just want to mess around in. Though I personally don't prefer unity for games, unity supports the use of c#.

C# is fine primary with no decision breaking cons, but the same could be said about many languages.
>>
File: 1454790780671.png (269KB, 1280x960px) Image search: [Google]
1454790780671.png
269KB, 1280x960px
>>57602717
>C#
>>
I'd recommend Python or Ruby as a first programming language as they let you get down to business without thinking about types or modifiers.
>>
In short I want a programming language that will get me the best practice and habits to be able to switch easily to other programming languages.
>>
>>57603358
Instead of memes, why don't you explain what's wrong with it?
>>
>>57604432
OCaml.
>>
>>57602717
>One question remains tho, for a beginner in programming, is it better to learn a low level language like C and work your way up to C#? Or the opposite?
this is a stupid question, you learn the langauge for your application, that's it

im a data scientist i use R, Julia and Python, I would get little benefit from learning C, likewise a video game developer would get very little benefit from learning R, Julia or Python and instead uses C++
>>
>>57604618
Do tell, how did you become a data scientist? Asking as a CS SE guy who might be interested in dabbling in big data
>>
>>57602717
Start with C#, and work your way down.
It will be way easier this way, and you could be using your skills do actually *do* something rather than spending 2 years mastering C to find out almost no one use this anymore.
>>
>>57604662
>Do tell, how did you become a data scientist?
did stats courses at uni
>>
There's an article about this: https://www.takeupcode.com/posts-opinions/should-i-learn-c-or-csharp/
Thoughts?
>>
>>57606074
>https://www.takeupcode.com/posts-opinions/should-i-learn-c-or-csharp/

I'll translate for you:
By learning c++ first you'll learn to deal with situations that are not a problem in many modern languages.
However, in learning c++ you'll learn more about why things are dealt with a certain way in programming languages that don't have many retarded edge-cases and pitfalls.
>>
>>57604618
you use julia? for finance?
>>
>>57604867
>It will be way easier this way, and you could be using your skills do actually *do* something rather than spending 2 years mastering C to find out almost no one use this anymore.
this.
>>
>>57602717
Learn rust. Everything else is deprecated.
>>
>>57604618
At least choose a remotely believable lie if you're going to bother replying.
>>
>>57602717
>One question remains tho, for a beginner in programming, is it better to learn a low level language like C and work your way up to C#? Or the opposite?
It doesn't matter. If you're good at programming you'll be good at it regardless of which language you start with, if you're shit then you'll be shit no matter which training wheels get activated.
>>
even GNOME devs are going towards vala instead of C.

friends don't let friends write C.
>>
>>57602717
OOP (C#) > functional (C++) > imperative (C)
>>
File: yodabait.jpg (147KB, 500x378px) Image search: [Google]
yodabait.jpg
147KB, 500x378px
>>57606838
>>
File: penn.jpg (105KB, 398x503px) Image search: [Google]
penn.jpg
105KB, 398x503px
>>57602794
>try out [shitty dynamic language] bro!
>>
>>57604618
Are you doing machine learning shit or why are you using python?
>>
>>57602717

> is it better to learn a low level language like C and work your way up to C#?

Both ways have their benefits, it depends on your cahracter. If you are a cunning little bugger, start (unironically) with assembly, then C then, Java, then C#.

This will guve you good insights for the deign decision on each "level" - you need to fuck arround with memory a lot to understand why somebody was tired of this shit and came up with garbage collection..

But the other way is probably more motivating, start with something suoer high-level (i.e. Ruby or C#) and work your way down with C and some Assembly (for the lulz). This way you get the bigger picture before you can get the details. It's also an interesting journey..
>>
>>57602717
Learn C# or Python first. You can actually use them after even a short amount of studying, which will help you enjoy it and learn more.
>>
>>57606861
Stop posting, retard.
>>
>>57602717
Well C was my first programming language then went to C++ and then to Java, and let me tell you OOP just doesn't feel right, abstraction just doesnt seem what you're supposed to do, so maybe you should go with C first and then try highlevel stuff, this will minor down your choices
>>
Python first and then C

then everything else
>>
People who don't start from at least C always end up struggling to understand what pass by reference is, I don't even mention the finer things. Even C hides a lot from the programmer, function calls themselves were a mystery to me until I learned x64 assembly. And learning C++ without learning C first is like shooting yourself in the foot right from the start.
>>
basically, learn procedural programming which is "easier" but also potent and then you can try and "fuck yourself" with OOP
>>
>>57603375
Types is something you wanna think about when you learn programming. Going from strong typing to dynamic typing is going to be easier than the other way around
>>
>>57607275
true
>>
Ok what good books or online video course can I take up to learn C from a beginner standpoint?
>>
Most languages will be pretty easy to learn after you've picked up an imperative language. It doesn't matter too much.
>>
>>57602717
As a beginner, stop worrying about "which language should I use" and just pick one. It's a contentious issue, and you're just going to distract yourself from actually learning.
>>
>>57608163
Might as well start on the right track and not waste time learning meme languages just for the sake of learning.
>>
>>57608276
the differences between languages aren't nearly as big as they seem, especially to a newbie.

Any of the "big" languages have enough support that he can work with them. By the time he's ok at one, he'll know enough to know why he might like to consider a different one.
>>
>>57602717
start with C and then learn C#

forget about C++, it is a mess
>>
>>57604618
that should be bait, it can't be true
>>
>>57602794
This. I use Ruby everywhere now. Ruby is ultimate comfy.
>>
>>57607275
>Going from strong typing to dynamic typing is going to be easier than the other way around
Well, that's obvious.. Doesn't make learning python as a first language any less valid
>>
Warning: retarded question ahead

If i make let's say a calculator or some basic GUI program with C# and visual studio, is it possible to make the program multiplatform as in being capable to run it on Linux too? if so, how?
>>
>>57611546
Yes. Windows Forms and mono
>>
>>57611251
>>57611251
>Well, that's obvious..

For you, for me (OP) it isn't hence this thread.
>>
>>57614681

As I wrote before, both ways can work for you.

Either you focus on the underlying mechanics first or you choose a softer entry, leaving the technical details for later.

It's just two ways to towards the same goal. The end game is always to operate high-level, but to know what's going on low-level:

>Beginner
Using primitive types, loops, all in one file.
Success = "it works"

>Adept
Using abstraction (multiple files) and and data types like linked list, sets or tree.
Success = "it works and doesn't look stupid"

>Intermediate
Using higher abstraction (building with scripts, using repositories) and libraries.
Success = "it works and is properly refactored"

>Advanced
Using differnt Frameworks.
Success = "I used my tool in the right way"

>Pro
Using different languages/stacks.
Success = "I used the right tool for the problem"


It all boils down to thins:
Don't think too much. Most beginners spend too much time thinking about technologies instead of just going to work with it. That's like thinking about wether you should start learning vowels or consonants - it doesn't matter at all. Just start somewhere.

Even if you start with a super exotic langauge (say: Scheme or Pascal) you can get a good programmer with that. And when you learn your next langauge you won't start at 0, but the more you know, the more knowledge will carry over to your next technology.
>>
I would recommend going from low level to high level.
It forces you to think about how stuff works and how to make your project in spite of that.
Compilers are also a lot better for beginners as they point out errors before you can run the application.
The warnings also deter bad code.
People recommend C because it is very easy to grasp, even if making large applications can get difficult.

High level languages is meant to be easier for large projects.
They are good for learning how to structure applications.
Now this is a very critical skill to have and you could argue why this is more important, but it is also where parts are less transferable.
Some parts are dependent on the language, which means new language = new things to learn.
Learning how skills work, is still true with other languages, Eg, having written some projects in assembler have helped me a lot with understanding how to write javascript.
>>
>>57615638
I'd recommend the exact opposite. How are you supposed to better understand low level code if you don't understand a simple loop first?

I'd say tackle the "basic" programming features like if/else, loops, functions before going down the rabbit hole and finding out why they work like they do.

I started with Python personally, got a good feeling of how code flows and interacts. After a year of Python I started doing C# and learnt how to implement SOLID principles, application architecture, Inversion of Control etcetera.
After a good bit of C# I started doing C to the side to get a better feeling of how low level code works. It was pretty easy to pick up because I know how the high level language works, which made it easier for me to write the low level implementation.
>>
>>57602717
Every person that wants to call themselves good programmer should at least understand how C and Assembly works. Then you can understand why programs can fail sometimes and you can't tell why.

Machine Code is the lowest you can get.
Assembly is a literal translation from Machine Code with some convenience functions like macros and labels.
C is a first layer of abstraction, to make your use of stack memory, processor registers, control statements and loops easier.
C++ is another layer of abstraction, making dynamic memory usage and structs easier, which is called the Object Oriented Programming.
C#, Java and many others abstract most of this dynamic memory usage.
>>
>>57615714
understanding loops is easy and you can learn that with C.
I would actually consider loops to be low level knowledge.
The c++ : for loops have a higher level of abstraction, but C is reasonable for beginners.
Beginners should start by making simple applications so they can learn to think like programmers.
Yes, you start by making things like converting Celsius to Fahrenheit, sorting numbers, and image processors.
These tasks are meant to be an easy way to introduce beginners to programming.

I don't think python is a good starting point, but you can start anywhere I guess
>>
>>57602717
>for a beginner in programming, is it better to learn a low level language like C and work your way up to C#? Or the opposite?

First learn LISP.
Then learn ANSI C.
Then learn any C derived language you want to use.
>>
>>57616176

"""(((LISP)))"""
>>
File: f78.gif (1MB, 765x540px) Image search: [Google]
f78.gif
1MB, 765x540px
>>57602717
>>57602736

I second this.
High level to learn concepts (using methods, etc).
Eventually you move to what's inside those methods.
>>
Personal opinion only here,

Learn any of:

C#, C++, C, Java as your first language

So that if you ever get into enterprise development, you won't have internal performance loss from syntactic stutter.

You can study Mandarin for the rest of your life, but you will never be able to speak it as well as your native language (which statistically is Mandarin if we consider the set of all human beings but fuck you).

Then again, I'm still at a very result-oriented stage in my growth as a developer. If I don't see visible progress relatively quickly I throw tantrums and have to come back after a break to get anything done.

There is an observable negative correlation between "highness" of a language and both the limits of its power and the peak of its efficiency.
>>
>>57619325
Dully noted.
>>
>>57604441
>le ebin botnet meme xDDD
>>
>>57606925
tensorflow probably
>>
>>57602717
depends on your attention span. If you want to be able to do advanced shit and create useful programs fast then learn a high level language like Python first. If you don't mind spending a long time to do simple shit then low level is better.
>>
>>57608620
Why would it be bait? I also do data science and machine learning on Python. It's not a very uncommon job.
>>
From JavaScript to see C, easy transition?
>>
>>57622171
to C*
Thread posts: 71
Thread images: 7


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

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
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.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.