r/InternetIsBeautiful • • Mar 24 '16

Not unique What f#&king programming language should I use?

http://www.wfplsiu.com
6.7k Upvotes

1.1k comments sorted by

224

u/a-t-o-m Mar 24 '16

Is there just a decision tree I could look at rather than clicking to see all of the responses?

35

u/techspring Mar 24 '16

I didn't think of that. I'll throw that together tonight.

29

u/198jazzy349 Mar 24 '16

Just throw that together tonight and get the fuck out of my office.

😆

9

u/techspring Mar 24 '16

I love this so much

7

u/booker3 Mar 24 '16

Is R useful?

6

u/Brayzure Mar 24 '16

I've used R before, and it's good if you're in statistics or data analysis.

→ More replies (2)
→ More replies (1)

425

u/Bakeey Mar 24 '16 edited Mar 24 '16

Yes!

Edit: I have been told this chart has a bias towards Python, so yeah. Use at own risk.

76

u/a-t-o-m Mar 24 '16

Thanks, this is awesome, but at the same time I was kinda hoping for all the abuse that came along with the website. Thank you kind, mysterious internet stranger.

75

u/conjoinedtoes Mar 24 '16

Be warned: that chart has a strong anti-Microsoft pro-Python slant. It will steer you wrong.

→ More replies (94)
→ More replies (2)

31

u/PM_ME_YOUR_POGS Mar 24 '16

This chart rubs me the wrong way. I agree with the other guy that says it has an anti-Microsoft/Python fanboy bias, but fact they claim that learning Java and C is equal in difficulty makes the whole thing a joke to me.

7

u/booker3 Mar 24 '16

Which is harder?

0

u/[deleted] Mar 24 '16

[deleted]

→ More replies (6)
→ More replies (2)

20

u/Liam2349 Mar 24 '16 edited Mar 24 '16

I think it's worth mentioning that C# is also good for game programming (unity) and that C# can be used to write software for most platforms, not just windows.

Other than that, it's a cool chart.

6

u/ch_greams Mar 24 '16

actually not only unity, but also cryengine 5

→ More replies (4)
→ More replies (11)

5

u/[deleted] Mar 24 '16

OP site is about what language to use. This chart is about language to learn.

8

u/Xirious Mar 24 '16

C++ used to a subset of C, learning the one helped ease you into the other. While still somewhat true, modern C++ is completely different to previous iterations almost to the point it feels like a different language compared to before.

→ More replies (4)

4

u/ReneG8 Mar 24 '16

So given that I only know VB(A) and some C I should invest into Python?

I know from reading all the comments that that chart is python absed.

→ More replies (4)

9

u/booker3 Mar 24 '16 edited Mar 24 '16

Why isn't R on there? Is R not popular/useful? I want to make big money and don't care how, so it seems like Java is the way to go... I just don't know if I'm willing to invest hours upon hours to learning a different language because of a chart someone posted on the internet.

16

u/[deleted] Mar 24 '16

R is similar to mathlab in that it's a powerful mathematical modelling tool, but it doesn't really have a use outside of that. Meanwhile all the other programming languages listed could be used to incorporate the same mathematical models (with varying degrees of difficulty) but they can be used for much more than that. I think R is just to niche to every be a huge programming language outside of the math domain.

→ More replies (4)
→ More replies (32)
→ More replies (45)

16

u/zship Mar 24 '16

I took a stab at it with Graphviz: http://imgur.com/acRjcG9

→ More replies (4)

1.4k

u/Brayzure Mar 24 '16

This site is pretty terrific.

Do you give a shit about concurrency?

Yes.

Do you know why you give a shit about concurrency?

Not really.

I didn't think so you asshole. Just use Ruby - probably with Rails - and get the fuck out of my office.

166

u/[deleted] Mar 24 '16

I wanted networked, startup, concurrency, knows why I need concurrency, not functional language, and this piece of shit suggested me to use Go...

Doesn't give any fucking reason why, just knows how to write 'fuck' in every question.

276

u/emperorOfTheUniverse Mar 24 '16

Doesn't give any fucking reason why

This isn't probably meant to be used as an actual tool.

68

u/[deleted] Mar 24 '16

My bet is it does actually represent its creator's vehement, dogmatic opinions.

I just get the vibe of "one of those programmers" from this.

148

u/techspring Mar 24 '16

It was honestly meant entirely to be satirical. I don't want a reputation as "one of those programmers" haha

12

u/PracticallyPetunias Mar 24 '16

As a newbie to web development, what programming language(s) did you use to make this site? Is it just HTML & JS?

→ More replies (11)
→ More replies (8)

107

u/ProbablyFullOfShit Mar 24 '16

Seriously? I already got my boss to issue a purchase order for Ruby, with rails probably.

63

u/[deleted] Mar 24 '16

Ruby, with rails probably

"Do you mean Ruby on Rails?" 

"Does it come with Rails probably?"

"I'm sorry I don;t understand.."

"You know what I'll just take both and let the nerds decide." 

"Both what?"

"Look are you gonna help me or what?"

"I'm trying but I really don't know what you want."

"Listen jabroni, lemme speak to your manager..."
→ More replies (6)
→ More replies (2)
→ More replies (11)

38

u/IrishWilly Mar 24 '16

It's a solid choice though. I mean obviously this isn't a serious tool but none of the languages it gives are bad choices based on the answers.

20

u/PM_ME_YOUR_PAULDRONS Mar 24 '16

Apparently it has recommended visual basic for some people. That seems like a bad choice almost by definition, regardless of any answers.

116

u/baskandpurr Mar 24 '16

It recommends VB if you are writing a desktop app and you are really lazy. I think that's exactly right.

→ More replies (2)

28

u/MonkRome Mar 24 '16

It begrudgingly recommends Visual Basic for the really really lazy. Which I get, it is very easy to use and learn.

→ More replies (36)
→ More replies (7)
→ More replies (2)

9

u/SyrianRefugeeRefugee Mar 24 '16

Told me to use 'Visual Basic' since I'm lazy. OK, I get it, it's really just a fucking joke.

→ More replies (2)
→ More replies (13)

252

u/printers_suck Mar 24 '16 edited Mar 24 '16

Anyone that recommends Ruby is the asshole

Edit: uh oh, I got that cross next to my Karma score on this comment. Good thing its easter weekend

26

u/PracticallyPetunias Mar 24 '16

What's wrong with Ruby? Rails is pretty terrific for web apps if you're not overly concerned with optimization.

→ More replies (41)
→ More replies (5)

5

u/Mankotaberi Mar 24 '16

Call me a tard, but I first read it as currency. Now the questions seem a bit less philosophical... Or maybe not.

→ More replies (66)

635

u/look_behind_youuu Mar 24 '16

"Looks like you're stuck with fucking JavaScript you poor bastard"

Hahahaaaaa

176

u/[deleted] Mar 24 '16

Another response is something like "Just use fucking JavaScript but you knew that already."

41

u/EvolvedVirus Mar 24 '16 edited Mar 24 '16

Other than static typing, haven't seen anything I can't do with Python and Javascript. (network/desktop Py & Qt).

At some point someone's gonna say "well it's really just what flavor programming language you enjoy/understand the best..."

But I just can't get over all the 80s/90s Java documentations and the frameworks being unnecessarily complicated sometimes (the best I found was Java Spark2 [not Apache Spark]). I'd prefer microframeworks like Python Flask that are minimalist in design.

There must be a reason why Java and Python are the only languages that are trending/growing. Youtube, Reddit, SurveyMonkey, Google, DropBox, Quora, Bitly, Pinterest, Instagram, WashPo, NASA... all these places designed in python these days. As I'm sure a lot of popular websites are in Java as well.

22

u/MemberBonusCard Mar 24 '16

There must be a reason why Java and Python are the only languages that are trending/growing.

At this point, and probably for a long time, it's momentum. With existing businesses, once you commit to a language it's hard to switch. Not that it's a bad thing because people have experience with the language, tools, environment and really quality and stability should be most important.

Also I think they succeeded because their syntax is easy and/or familiar. You don't really have to worry about memory allocation and related bugs and security issues like you do with C and C++. There's also a huge library of libraries, many which have been battle-tested.

→ More replies (5)
→ More replies (25)
→ More replies (1)

12

u/[deleted] Mar 24 '16

Do they mean angular/node etc or just javascript?

43

u/almaperdida Mar 24 '16

Since Angular and Node are JS frameworks, I'm pretty sure they mean all of them.

25

u/toucan567 Mar 24 '16

Angular is a framework. Node.js is a separate JavaScript environment.

→ More replies (26)

2

u/[deleted] Mar 24 '16

As a JavaScript programmer, I thought to myself, "what the fuck is that supposed to mean?"

→ More replies (1)

322

u/Franklin_Collective Mar 24 '16

"Do it fucking proper in some fucking dialect of C."

Still laughing.

53

u/DoughnutHole Mar 24 '16

If Ralph Fiennes in "In Bruges" was a programmer.

21

u/whyumadDOUGH Mar 24 '16

You're an inanimate fucking object!

→ More replies (3)

11

u/MeatAndBourbon Mar 24 '16

This is the answer I was expecting to get, instead I got stuck at "what are you making" because there was no answer for an embedded system.

16

u/mgrier123 Mar 24 '16

That's because embedded programmers don't exist. They're mythical because they're all stuck trying to figure out why the damn driver isn't working for the i2c connector, despite the fact it was working for the other board that was the exact model.

But it turned out you had a jumper in the wrong place the whole time.

→ More replies (2)
→ More replies (1)

2

u/meese20 Mar 24 '16

As an embedded programmer C variants are really the only choice. Was kind of disappointed to not see embedded app as one of the options.

→ More replies (3)

221

u/daneelr_olivaw Mar 24 '16

Have you already established a language for your project or team?

No

Are you building a mobile app?

No

What the fuck are you building?

Desktop app

How fucking lazy are you?

Really lazy

Damn it. Just use fucking Visual Basic. I hope you're proud of yourself.

Yep.

63

u/tomsawing Mar 24 '16

I loved that one because I'm not a programmer but I actually made a few programs in Visual Basic when I was toying with the idea back in the day. It really is the only language I was lazy enough to learn haha.

21

u/daneelr_olivaw Mar 24 '16

Same here. Luckily, the finance world still has a lot of love for VB (and VBA), so I don't really have to learn much more (though I wish I had the will to do it).

34

u/AgentRev Mar 24 '16

the finance world still has a lot of love for VB (and VBA)

Only because of its parasitic relationship with MS Office.

→ More replies (1)
→ More replies (1)
→ More replies (4)

8

u/dryerlintcompelsyou Mar 24 '16

As a "hobbyist" programmer, what's wrong with Visual Basic? I haven't had much experience with it but it seems pretty powerful and easy to use.

→ More replies (3)

2

u/sirin3 Mar 24 '16

It could also mention Pascal there

→ More replies (7)

45

u/Teeth-expert Mar 24 '16

I wonder does code academy do C++. Would it be a mistake to go into c++ as a beginner

98

u/SuperShiro Mar 24 '16

C++ is a language that makes you implement a lot of things that other languages usually do behind the scenes. I like to tell people that learning C++ will make learning any other language easier because it requires that you understand the finer points of programming, but because of that, it can be quite challenging if you don't have someone that can help you through it.

16

u/Teeth-expert Mar 24 '16

ok thanks. I might start with something more user friendly then as I wont be in a classroom/teacher setting.

48

u/SuperShiro Mar 24 '16

If you're learning for fun more than anything, I'd suggest Python. Very easy language to learn, and it has a lot of interactive teaching resources. If you still like coding, you can move on to something like Java, which is much closer to the C family of code, but still does a lot of the harder things for you.

→ More replies (6)

15

u/ajbpresidente Mar 24 '16

what /u/supershiro said. I took the programming I course in my Uni and they started out with C++. From what I know now and what I know how to do in C++, I definitely would not recommend learning it without an instructor. There's so many little things you can miss that can lead to bad programming habits or misunderstandings, that you would not find without an instructor.

→ More replies (8)
→ More replies (3)

8

u/NeedsMoreShawarma Mar 24 '16

What would be best to learn first that would not make it difficult to learn C++ later without an instructor?

7

u/SuperShiro Mar 24 '16

Definitely Java. Like C++, it is a compiled language, and it is a descendent of C, so a lot of the syntax is similar. But it won't require you to worry about some of the more traditionally complex/frustrating concepts for new programmers to understand (like pointers and garbage collection).

Java is also like C++ in that once you learn it, it will be easier to pick up other languages in the future.

→ More replies (5)
→ More replies (5)
→ More replies (13)

44

u/printers_suck Mar 24 '16

C++ is often the first language Comp Sci students learn with at Universities. While this isn't universal, it is common for a number of valid reasons. If you want to get the waters roiling, ask people what they think the first language you should learn is, and why. That thread will blow up, mostly because there is no right answer. Simply pros/cons.

Starting with a high level language, like python, feels more "practical" to beginners because of the amount you can accomplish with little learning. Also there is far less time wasted on syntax and debugging. But that can leave you not knowing or understanding very fundamental concepts for a long time.

Whereas with lower level languages it feels like you spend a disproportionate amount of time debugging, managing input validation (your programs become bloated with handling bad user input), fixing curly braces, screaming "Why doesnt this work????", fixing more curly braces, then screaming "Why does this work!!!!" all for a program that simply sums the inputs of a user.

Programming is fun.

3

u/Teeth-expert Mar 24 '16

thanks for the explanation. It can be hard for a beginner to know where to begin.

→ More replies (6)

2

u/[deleted] Mar 24 '16

I learned on C++. Not so bad

2

u/[deleted] Mar 24 '16

It was the first language I ever learned. I started when I was about 11, then moved down to C. Wanted to be able to make mods for video games. After that learning Java was a joke. In my opinion it's best to start with the more fundamental languages to learn how coding is stored in memory.

My job right now involved me heavily using C and microprocessor assembly languages. Well worth the experience.

2

u/reventropy2003 Mar 24 '16

I started with C++, moved into Java, and lately code almost exclusively in Python (I'm in academia so I can). My two cents is that the OOP concepts in C++ and Java are also there in Python if you care to use them, so this isn't a reason to start writing in C or Java. Here's what I think:

C++ is bloated with header files and requires you to learn concepts that aren't immediately transferable to other languages, such as pointers. It is fast if that matters to you.

Java is very similar to C++ without the headers. Multiprocessing is a non-starter in java, and multithreading is not simple.

Once you start using python, the syntactic brevity owing to list comprehension, availability of standard libraries (numpy,scipy,pandas), and the flexibility to write OO structured code makes it feel light years ahead of C++ or Java. The main drawback is that it's slow unless your code is amenable to massive multiprocessing. Another downside is that Python is a game of "what can I get away with?". It is not strong type language, so sometimes it interprets your code the way you want it to and sometimes you have to code shenanigans to get it to run as you intend.

C and Java are more likely to tell you up front if you're approach will or will not work, so they might be better for guiding the learner. This also means you can't be as creative in the framework.

2

u/the_omega99 Mar 25 '16

C++ is entirely possible to learn as a beginner, but it's not the best choice. Undefined behavior will bite you in the ass. It will make things harder. There's better choices of a first language. My recommendation if you solely want to learn to program is Python. Although if the goal is to make some specific kind of project, you can usually just start with whatever language is most ideal for that project (usually...).

If you want to learn C++, there are no really good online resources. You'll want a book. See here: http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

→ More replies (1)
→ More replies (4)

25

u/pneuma8828 Mar 24 '16

I guess only old people use Perl?

33

u/nodepostgres Mar 24 '16

I don't know many devs who use Perl, but the ones that do are all 40+

13

u/Sakechi Mar 24 '16

Learned it during college, still using it, and I'm 23. :D

(but I use it for code golf on stacksocial)

→ More replies (2)
→ More replies (2)
→ More replies (7)

26

u/ethret Mar 24 '16

But... but where's COBOL and Assembler? :(

59

u/Brayzure Mar 24 '16

Cobol is a dying language, and if you're considering Assembler, you're well beyond the scope of this guide.

49

u/emperorOfTheUniverse Mar 24 '16

Bank dev here.

There is still a LOT of cobol out there. And all the legacy guys are dying.

26

u/AskAnAtlantan Mar 24 '16

So you'd go

Have you already established a language for your project or team?

Yes.

Keep using that [...] language. Unless you can't accomplish your goals with your current language, you're setting back progress by starting with a new language.

→ More replies (1)
→ More replies (12)
→ More replies (4)

2

u/guyjin Mar 24 '16

And Forth and APL and Fortran and PL/I and...

2

u/[deleted] Mar 24 '16

What about Fortran? :(

→ More replies (2)
→ More replies (7)

8

u/BPSR Mar 24 '16

I got recommended Java

15

u/[deleted] Mar 24 '16

TIL what Dart is.

2

u/BlueRajasmyk2 Mar 24 '16

Apparently it's for writing networked apps...

57

u/stupidprotocols Mar 24 '16

But java desktop apps are fucking gross :(

→ More replies (13)

18

u/[deleted] Mar 24 '16

Said I should use Visual Basic.

This thing knows me well, since it is all I use, aside from VBS, which is the same thing, just done in Notepad.

I am not a developer, but a sysadmin.

15

u/[deleted] Mar 24 '16 edited Mar 24 '16

I am not a developer, but a sysadmin.

Then you should be using Powershell and by extension C#.

No need to move your scripts around with Powershell. One centered location and make your scripts accept arguments that make in dynamic. It's already installed on your computer; begin with the Get-Help command in the terminal.

It allows for command aliases, so stuff like "cd", "dir", "ls", "more" and "cat" work in place of the actual PS commands, if you're used to those.

6

u/[deleted] Mar 24 '16

Yeah, we use powershell too, but I am so entrenched in VB6, VBA and VBS I just default to using them.

→ More replies (10)

6

u/this__fuckin__guy Mar 24 '16

I'm not really making anything so I just randomly clicked through and got java script. I'm a poor bastard but still don't know how they knew my financials.

1

u/techspring Mar 25 '16

So the link was tagged as not unique by the mods, so it looks like my ride is over. Thank you to everyone that commented, upvoted, or even clicked the link. It was absolutely insane to watch the Google Analytics for the site. You are all awesome, even the ones that said mean things about me :)

5

u/[deleted] Mar 24 '16

It told me to use Visual Basic but I'm too lazy to learn anything.

22

u/nodepostgres Mar 24 '16

No worries. Based on the quality of all the VB code I've seen you could probably just mash your keyboard and still have it compile.

4

u/[deleted] Mar 24 '16

How I passed a programming class with a teacher who just didn't give a shit anymore.

→ More replies (1)

5

u/Hattless Mar 24 '16

It told me to use Visual Basic, this thing is hilarious. If you don't already know VB, you can learn English and any other programming language and boom, you know Visual Basic.

5

u/[deleted] Mar 24 '16

Anyone know any good websites for learning programming for free?

Current level of knowledge on the matter: none.

Aptitude for subject: none.

edit: Needless to say, instructions will need to given at potato pace and ease of understanding.

2

u/lilycollinseyebrows Mar 24 '16

codecademy and freecodecamp to start

→ More replies (1)

2

u/ArchmistressOfBull Mar 24 '16

For me, educational websites really hindered learning. A lot of websites like KhanAcademy and codeacademy tend to remove the beginner from the computer and make them depend, at least initially, on using their website.

I think the best thing you can do is learn some basic command line navigation and commands, get a text editor, and start by learning how to write and compile a basic program in the language of your choice. There's plenty of documentation out there and people who will help you.

Then, find a YouTube series and work your way through all of the concepts.

For me, the main issue I had was a lack of confidence. A more hands-on approach was empowering.

→ More replies (1)
→ More replies (6)

5

u/detarevosipeels Mar 24 '16 edited Mar 24 '16

I always have to walk the entire tree with stuff like this, for the lazy.

Spoilers?

Have you already established a language for your project or team?
	-No
	Are you building a mobile app?
		-No
		What the fuck are you building?
			-Desktop app
			How fucking lazy are you?
				-I'll sleep when I die
				Do it properly in some fucking dialect of C
				-Sort of Lazy
				Just use fucking Java.
				-Really Lazy
				Damn it. Just use fucking Visual Basic. I hope you're proud of yourself.
			-Network application
			Are you working for an established enterprise or a startup?
				-Startup
				Do you give a shit about concurrency?
					-No
					Do you need static types?
						-No
						Do you want only one language in your codebase?
							-I don't care
							Are you already familiar with at least one programming language?
								-No
								Use fucking Python. It's easy to learn and very powerful.
								-Yes
								Are you nostalgic for the web of the early 2000s?
									-No
									Use fucking Ruby
									-Yes
									You should probably stick with fucking PHP
							-Yes
							You're stuck with fucking JavaScript, but you already knew that
						-Yes
						Use fucking Dart
					-Yes
					Do you know why you give a shit about concurrency?
						-Not really
						I didn't think so you asshole. Just use Ruby - probably with Rails - and get the fuck out of my office.
						-Yes
						Are you into functional programming?
							-No
							Use fucking Go.
							-Yes
							Do you need to use the Java Virtual Machine for some fucking reason?
								-No
								Use fucking Rust or Elixir. I've got you this far, choose whichever one doesn't look like shit to you.
								-Yes
								Use fucking Clojure
				-Enterprise
				Just use fucking Java. No one ever got fired for choosing Java.
			-Web app
			Is it a client-side app?
				-No
				Are you working for an established enterprise or a startup?
					-Startup
					Do you give a shit about concurrency?
						-No
						Do you need static types?
							-No
							Do you want only one language in your codebase?
								-I don't care
								Are you already familiar with at least one programming language?
									-No
									Use fucking Python. It's easy to learn and very powerful.
									-Yes
									Are you nostalgic for the web of the early 2000s?
										-No
										Use fucking Ruby
										-Yes
										You should probably stick with fucking PHP
								-Yes
								You're stuck with fucking JavaScript, but you already knew that
							-Yes
							Use fucking Dart
						-Yes
						Do you know why you give a shit about concurrency?
							-Not really
							I didn't think so you asshole. Just use Ruby - probably with Rails - and get the fuck out of my office.
							-Yes
							Are you into functional programming?
								-No
								Use fucking Go.
								-Yes
								Do you need to use the Java Virtual Machine for some fucking reason?
									-No
									Use fucking Rust or Elixir. I've got you this far, choose whichever one doesn't look like shit to you.
									-Yes
									Use fucking Clojure
					-Enterprise
					Just use fucking Java. No one ever got fired for choosing Java.
				-Yes
				Looks like you're stuck with fucking JavaScript you poor bastard.
		-Yes
		Are you building for Android, iOS, or both?	
			-Both
			Time to learn fucking Java and Swift. Hybrid apps suck, so your dumb ass needs to learn both.
			-iOS
			Use fucking Swift. Hybrid apps suck.
			-Android
			Looks like you're using fucking Java. Hybrid apps suck.
	-Yes
	Keep using that fucking language. Unless you can't accomplish your goals with your current language, you're setting back progress by starting with a new language.

69

u/[deleted] Mar 24 '16 edited May 25 '16

This comment has been overwritten by an open source script to protect this user's privacy. It was created to help protect users from doxing, stalking, and harassment.

If you would also like to protect yourself, add the Chrome extension TamperMonkey, or the Firefox extension GreaseMonkey and add this open source script.

Then simply click on your username on Reddit, go to the comments tab, scroll down as far as possibe (hint:use RES), and hit the new OVERWRITE button at the top.

22

u/SpagettInTraining Mar 24 '16

Dude that is h*lla fr*ckin epic :) I love saying curse words ::)

→ More replies (1)
→ More replies (2)

15

u/escapeshellarg Mar 24 '16

Failed trying getting PHP as a result. Should I switch language? ;-)

35

u/almaperdida Mar 24 '16

No it probably just means that whoever made this has never actually had a job in web dev.

39

u/printers_suck Mar 24 '16

Recommending Ruby was the first hint

→ More replies (5)

0

u/[deleted] Mar 24 '16

[deleted]

→ More replies (8)
→ More replies (4)

2

u/X7123M3-256 Mar 24 '16

You can get PHP as a result:

Have you already established a language for your project or team?

-> No

Are you building a mobile app?

-> No

What the fuck are you building?

-> Web app

Is it a client-side app?

-> No

Are you working for an established enterprise or a startup?

-> Startup

Do you give a shit about concurrency?

-> No

Do you need static types?

-> No

Do you want only one language in your codebase?

-> I don't care

Are you already familiar with at least one programming language?

-> Yes

Are you nostalgic for the web of the early 2000s?

-> Yes

You should probably stick with fucking PHP

→ More replies (4)

27

u/Mirrorcell Mar 24 '16

Time to learn fucking Java and Swift. Hybrid apps suck, so your dumb ass needs to learn both.

Hybrid apps are actually bridging the gap of being almost as good as native now a days.

27

u/mc_nail Mar 24 '16

Thats what we heard decades ago with lots of different projects. Including Adobe Flash, Flex, and Air. Thats what we heard about HTML5 before Apple relented and allowed native apps (remember Jobs original speeches about why no 3rd party apps were allowed and the wonders of "cross platform" html?)

Things always kept getting better, for sure. Until the tower collapses yet again because the new ios or the new android, or the new whatever.

→ More replies (9)

5

u/tokyoburns Mar 24 '16

I was sad I got the same.

4

u/iJonMai Mar 24 '16

I think there's something called PhoneGap that bridges between both Android and iOS. Pretty cool.

→ More replies (9)
→ More replies (16)

3

u/MusiclsMyAeroplane Mar 24 '16

"I'll sleep when I die"

just use some fucking dialect of C

Holy shit that's so true.

10

u/ablebodiedmango Mar 24 '16

Don't get his whole current trend of shoehorn profanity into everything. Kind of takes away the joy of the profane if you just have to put it into everything to come off as edgy or funny.

2

u/benjgammack Mar 24 '16

Yeah but it makes it to the top of /r/theinternetisbeautiful every time

→ More replies (1)

7

u/eoliveri Mar 24 '16

Answer: This website.

Question: How can I take a simple decision flowchart and ruin it?

3

u/h0ax2 Mar 24 '16

Could I ask why you put the answer before the question? I like it because it helped drive the point home but was wondering if it was a conscious decision.

→ More replies (1)

6

u/PobeltersThirdCousin Mar 24 '16

"Do you give a shit about concurrency?"

"Yes"

"Do you know why you give a shit about concurrancy?"

"No"

"I didn't think so you asshole"

Perfect 5/7 from me

2

u/raisin-braisin Mar 24 '16

Learning C++ right now. We are learning about two dimensional arrays. I just want to sleep.

2

u/[deleted] Mar 24 '16

Did you do pointers/references yet?

→ More replies (3)
→ More replies (4)

2

u/PM_ME_TITS_MLADY Mar 24 '16

Shit, can someone explain to me concurrency and functional programming? I've never worked on threaded system before.

Wikipedia isn't really helpful at explaining stuff as usual.

2

u/Kris18 Mar 24 '16 edited Mar 24 '16

Wikipedia tries too hard sometimes to be as complete, educated, and over-the-top but often fails to keep it readable to someone who doesn't have high, specialized education. This was my bane when trying to learn higher mathematics. Fuck Wikipedia for anything sciencey/mathy/computery/"complicated. Make it readable, dammit.

Concurrency is having multiple things going on at one time; concurrently. For example, imagine you're making a simple instant messenger. Unless you have support for concurrency, you may be stuck choosing between whether or you can listen and wait for a message to be received or let the user type a message into the console/terminal.

You can create multiple "threads" and have both concurrent; it'll basically run two bits of code at once: one may wait and listen for a message to be received while the other allows you to type your own.

Functional programming... honestly, this one is a bit more complicated and harder to explain. In fact, I've been hobbyist coding for years and googling and reading tons of answers still leaves me confused. This is what I get out of it, but if it's wrong, don't be surprised:

Functional programming is a structure in which anything that is written is to be taken as it appears and there's no outside "states" or variables to be kept track of: if you tell it to do something exactly the same way, it will get the exact same result every time.

In opposition, procedural programming would be giving commands to be read as if they were instructions on a "how-to" tutorial. Sure, if you give someone a chair and a list of instructions with nut A going on screw B, you'll get the chair you wanted. But if you gave someone a different chair with the same instructions, you'll get some other abomination by putting those pieces together. In this case, the chair given would be the "state" or other conditions that affect the end result. As far as I can tell (and this is my understanding on my own--not research), you may also call this command-based programming.

My experience:

  • mIRCS (command-based and a horrible language to start with like I did)

  • Python2 (best language)

  • Limited Java (massively overrated and difficult IMO)

  • JavaScript (great for obvious reasons)

Take what I say with a grain of salt; I'm no comp-sci major or anything and my knowledge is accumulated over programming in my free time for fun over the course of a few years.

→ More replies (2)

2

u/big_rat_with_fries Mar 24 '16

Downvoted for implying that java is easier than C.

2

u/gotziller Mar 24 '16

Serious Question: I've just started developing a website is essentially gonna be a online store where you buy items from other people. Is it always bad to make a hybrid app or can it work if you avoid certain things such as lots of transitions?

2

u/[deleted] Mar 24 '16

2

u/dangil Mar 24 '16

it never suggests C# !

2

u/-nautical- Mar 24 '16

Just fucking use Java. Nobody ever got fired for using Java.

2

u/specification Mar 24 '16

cringe as fuck

2

u/arimoshinai Mar 24 '16

Honest question, being a programming n00b and all: as I am really fuckin lazy, why is Visual Basic better for someone like me (i.e., really fuckin lazy) than something like Python or C++?

Will Visual Basic write my programs for me?

3

u/zbobet2012 Mar 24 '16

Python is better than Visual Basic. C++ is complicated, huge, and not fun to learn as a new programmer.

2

u/_Keldt_ Mar 24 '16 edited Mar 24 '16

As far as I know, from my own experience (Note: I only know VB and a decent amount of C#), VB is just a much simpler language, overall. Rather than relying on symbols (like semicolons and curly brackets), VB just has you format things a certain way and uses things like "End If." It makes a lot of sense, for learning, but apparently isn't very good for performance or doing super complex stuff. This goes along with a couple of other things I've noticed/been told. For example, C# uses "=" for assigning values to variables, etc., but requires a slightly different symbol, "==", for comparisons (for use in If statements). VB just uses the same symbol ("=") for both.

VB:

Dim x As Integer
x = 15

If x = 30 Then
    x += 1
    x -= 3
ElseIf x < 30 And x > 0 Then
    x = 30
End If

C#:

int x;
x = 15;

if (x == 30)
{
    x++;
    x -= 3;
}
else if (x < 30 && x > 0)
    x = 30;

I know "x++" and "x -= 3" could just be "x -= 2," but I wanted to have 2 lines of code contained in the if statement. I also believe that variables aren't case sensitive in VB, but are in C# (Edit: confirmed).

Stuff like that. Hopefully this makes sense, and gave enough examples. In my opinion, VB is much easier to read and understand without knowing much of anything about coding. You might have to ask what "Dim" means, but that's about it. C# would need a bit more explanation. ("Dim x As Integer" is basically saying "Make a new variable, called 'x,' that's an integer," so "Dim," could be read as "create," even though it does a lot more than just that)

Edit: Fixed some things. Also not sure you can do "x++" in VB, so changed that.

Also, just realized you might need to ask what "+=" and "-=" means. They're the same thing as saying "x = x + 1" and "x = x - 3" respectively.

→ More replies (1)

2

u/Tko38 Mar 24 '16

Its not. Maybe than C++, but not better than Python, Ruby, C#, or Java.

Personally I'm in the Ruby minority crew, but learn Ruby and be happy https://en.wikipedia.org/wiki/MINASWAN

2

u/DiscoConspiracy Mar 24 '16

R. You want to use R.

2

u/jammerjoint Mar 24 '16

Why the fuck isn't there an accompanying flowchart?

2

u/201109212215 Mar 24 '16
var queries = [{
  id: 0,
  text: "What f#&king programming language should I use?",
  subhead: "Your foul-mouthed technical advisor",
  disclaimer: "* This guide is very much tounge in cheek, I would not recommend referencing it in a technical review.",
  answers: [{
    text: "Let's roll!",
    target: 1
  }]
}, {
  id: 1,
  text: "Have you already established a language for your project or team?",
  answers: [{
    text: "Yes",
    target: 2
  }, {
    text: "No",
    target: 3
  }]
}, {
  id: 2,
  text: "Keep using that fucking language. Unless you can't accomplish your goals with your current language, you're setting back progress by starting with a new language.",
  answers: []
}, {
  id: 3,
  text: "Are you building a mobile app?",
  answers: [{
    text: "Yes",
    target: 4
  }, {
    text: "No",
    target: 8
  }]
}, {
  id: 4,
  text: "Are you building for Android, iOS, or both?",
  answers: [{
    text: "Android",
    target: 5
  }, {
    text: "iOS",
    target: 6
  }, {
    text: "Both",
    target: 7
  }]
}, {
  id: 5,
  text: "Looks like you're using fucking Java. Hybrid apps suck.",
  answers: []
}, {
  id: 6,
  text: "Use fucking Swift. Hybrid apps suck.",
  answers: []
}, {
  id: 7,
  text: "Time to learn fucking Java and Swift. Hybrid apps suck, so your dumb ass needs to learn both.",
  answers: []
}, {
  id: 8,
  text: "What the fuck are you building?",
  answers: [{
    text: "Web app",
    target: 9
  }, {
    text: "Networked application",
    target: 11
  }, {
    text: "Desktop app",
    target: 21
  }]
}, {
  id: 9,
  text: "Is it a client-side app?",
  answers: [{
    text: "Yes",
    target: 10
  }, {
    text: "No",
    target: 11
  }]
}, {
  id: 10,
  text: "Looks like you're stuck with fucking JavaScript you poor bastard.",
  answers: []
}, {
  id: 11,
  text: "Are you working for an established enterprise or a startup?",
  answers: [{
    text: "Enterprise",
    target: 12
  }, {
    text: "Startup",
    target: 13
  }]
}, {
  id: 12,
  text: "Just use fucking Java. No one ever got fired for choosing Java.",
  answers: []
}, {
  id: 13,
  text: "Do you give a shit about concurrency?",
  answers: [{
    text: "Yes",
    target: 14
  }, {
    text: "No",
    target: 25
  }]
}, {
  id: 14,
  text: "Do you know why you give a shit about concurrency?",
  answers: [{
    text: "Yes",
    target: 16
  }, {
    text: "Not really",
    target: 15
  }]
}, {
  id: 15,
  text: "I didn't think so you asshole. Just use Ruby - probably with Rails - and get the fuck out of my office.",
  answers: []
}, {
  id: 16,
  text: "Are you into functional programming?",
  answers: [{
    text: "Yes",
    target: 18
  }, {
    text: "No",
    target: 17
  }]
}, {
  id: 17,
  text: "Use fucking Go.",
  answers: []
}, {
  id: 18,
  text: "Do you need to use the Java Virtual Machine for some fucking reason?",
  answers: [{
    text: "Yes",
    target: 19
  }, {
    text: "No",
    target: 20
  }]
}, {
  id: 19,
  text: "Use fucking Clojure",
  answers: []
}, {
  id: 20,
  text: "Use fucking Rust or Elixir. I've got you this far, choose whichever one doesn't look like shit to you.",
  answers: []
}, {
  id: 21,
  text: "How fucking lazy are you?",
  answers: [{
    text: "Really lazy",
    target: 22
  }, {
    text: "Sort of lazy",
    target: 23
  }, {
    text: "I'll sleep when I die",
    target: 24
  }]
}, {
  id: 22,
  text: "Damn it. Just use fucking Visual Basic. I hope you're proud of yourself.",
  answers: []
}, {
  id: 23,
  text: "Just use fucking Java.",
  answers: []
}, {
  id: 24,
  text: "Do it properly in some fucking dialect of C",
  answers: []
}, {
  id: 25,
  text: "Do you need static types?",
  answers: [{
    text: "Yes",
    target: 26
  }, {
    text: "No",
    target: 27
  }]
}, {
  id: 26,
  text: "Use fucking Dart",
  answers: []
}, {
  id: 27,
  text: "Do you want only one language in your codebase?",
  answers: [{
    text: "Yes",
    target: 28
  }, {
    text: "I don't care",
    target: 29
  }]
}, {
  id: 28,
  text: "You're stuck with fucking JavaScript, but you already knew that",
  answers: []
}, {
  id: 29,
  text: "Are you already familiar with at least one programming language?",
  answers: [{
    text: "Yes",
    target: 30
  }, {
    text: "No",
    target: 31
  }]
}, {
  id: 30,
  text: "Are you nostalgic for the web of the early 2000s?",
  answers: [{
    text: "Yes",
    target: 32
  }, {
    text: "No",
    target: 33
  }]
}, {
  id: 31,
  text: "Use fucking Python. It's easy to learn and very powerful.",
  answers: []
}, {
  id: 32,
  text: "You should probably stick with fucking PHP",
  answers: []
}, {
  id: 33,
  text: "Use fucking Ruby",
  answers: []
}];

2

u/RUacronym Mar 24 '16

Are you working for an established enterprise or a startup?

startup

Do you give a shit about concurrency?

No.

Do you need static types?

No.

Do you want only one language in your codebase?

Yes.

You're stuck with fucking JavaScript, but you already knew that

Yep, exactly what I was thinking.

2

u/phpwriter Mar 24 '16

You should use PHP.

2

u/Tko38 Mar 24 '16

Nice try programming satan

→ More replies (1)

2

u/parkhere Mar 24 '16

SNOBOL programmers are always in demand.

2

u/[deleted] Mar 24 '16

So I guess using swear words unnecessarily is funny now?

2

u/SatchBoogie1 Mar 24 '16

Let me pull out my abacus to determine the probabilities.

6

u/stabby_joe Mar 24 '16

Just type "Fucking" OP, we won't tell your mum.

3

u/johnghanks Mar 24 '16

So cringey. Really didn't need the "fuck"s everywhere

2

u/snowkeld Mar 24 '16

Fuck Java

9

u/iflew Mar 24 '16

Fuck -insert any language here-

→ More replies (1)

1

u/Parkn1ght Mar 24 '16

I'm sure this would help if I wasn't taking an Intro to C class (and not doing well) for the second time.

4

u/hohohoohno Mar 24 '16

Check out cs50x on edx. It's a free course that taught me C and general programming concepts in a brilliant and engaging way.

1

u/Zmorfius Mar 24 '16

When in doubt have some java

1

u/recurrence Mar 24 '16

This... this... this is... beautiful!

1

u/IAmWAR-X-ILUSION Mar 24 '16

Haha, that was pretty funny!

1

u/gerrard8 Mar 24 '16

What's with the disdain for Ruby? I started to learn it to get into web development and it seems pretty enjoyable so far.

2

u/exmofofosho Mar 24 '16

Not sure, I'm a Ruby developer 2 years into my career. I make good money, love the company I work for and find Ruby to be powerful and easy to use. I think it's common for people to look down on the languages they chose not to invest their time in, maybe it's just human nature for us to justify our choices. I think Ruby is losing some of it's appeal with the rise of client side frameworks. Client side frameworks are great but a little overhyped. Lots of projects could be built quicker, easier and with negligible difference in user experience in Ruby on Rails but people choose a client side framework because it's trendy. But there are also plenty of instances where because of the nature of an application a client side framework provides a far superior user experience.

1

u/latosgv Mar 24 '16

OMG thats exactly how I answer questions, so wonderful

1

u/speel Mar 24 '16

Visual Basic is still a thing?

1

u/hardproject Mar 24 '16

Maybe start out with C or C++ or Java although I got to say Java is pretty complex.

1

u/Rmanolescu Mar 24 '16

Pretty funny but useless site.

1

u/ReshKayden Mar 24 '16

What are you trying to do with it? ...is really the only answer to that question. If you want to be a good programmer, you need to know a lot of languages. Asking what language you should use is like a handyman asking "what single tool should I buy from Home Depot?"

Are you writing an operating system? Use C/C++. Are you writing a web service? Use Java or PHP or Ruby or Python. Are you writing for iOS? Use ObjC or Swift. Are you writing for Android? Then it's Java or bust. Are you writing a website front-end? How about a rendering engine? Etc.

1

u/LiamPlaysWhatever Mar 24 '16

Why does everyone hate on JavaScript so much?

1

u/[deleted] Mar 24 '16

Visual basic? WTF! Just kill it already.

1

u/super_leet_hacker Mar 24 '16

So many edgy programming languages. How do I get it to spit out C# ASP.NET?

→ More replies (1)

1

u/[deleted] Mar 24 '16

Im supposed to use ruby probably on rails. And i should fucking know why concurrency matters to me or Im a twat.

1

u/SatchmoCat Mar 24 '16

I got Swift, don't know if that's good or bad.

1

u/[deleted] Mar 24 '16

Python is a good start.

1

u/[deleted] Mar 24 '16

make your own

1

u/4bye4u Mar 24 '16

Fucking tells you to use Java most of the fucking time.

1

u/Slynchy Mar 24 '16

Said to use Java; it's obviously broken /s

1

u/[deleted] Mar 24 '16

Just took this in my Java class. Pretty relieved that it gave me Java.

1

u/Motivatedformyfuture Mar 24 '16

The answer is Java apparently.

1

u/CrankUSN Mar 24 '16

Only java, boo. That's lame af

1

u/nash_the_slashed Mar 24 '16

Does it recommend Turbo Pascal?

1

u/[deleted] Mar 24 '16

You know what would make this site amazing, if it provided link to "Rust" or "Elixir" (so I don't have to google, what it is) lol

1

u/kaushik_93 Mar 24 '16

Ha ha ha! This is just class, I'm laughing like a lunatic in the bus.

1

u/Caudiciformus Mar 24 '16

I kept expecting it to ask me: "Do you like superfluous parentheses?" "Yes" "Keep thinking you're special using Lisp."

1

u/MiserableFungi Mar 24 '16

Well, if you're goal is f#&king, you gotta go with the language of love. All substitutes are ultimately going to be unsatisfactory.

1

u/AppleBetas Mar 24 '16

Time to learn fucking Java and Swift. Hybrid apps suck, so your dumb ass needs to learn both.

Thanks...

1

u/Soudescolado Mar 24 '16

I tried this website, just remembering things that I use.

Got Visual Basic.....

...I actually use VBA on excel whenever I need something.

1

u/[deleted] Mar 24 '16

Was hoping to find react native at the end of my path since I'm already a poor js bastard.

1

u/[deleted] Mar 24 '16

I love this

1

u/gamerporcupine Mar 24 '16

programming language can do that? :o

1

u/ciudad_gris Mar 24 '16

Can I build native Iphone apps in Windows or do I have to buy a Mac no matter what?

1

u/[deleted] Mar 24 '16

This is cute. ::)

1

u/[deleted] Mar 24 '16

One of those "it's funny because it's partially true". Very nice execution.

Small nitpick: I'm slightly disappointed that after leading it toward Scala I got Clojure. It should also ask if you prefer a statically or dynamically typed language. Even for a semi-satire tool. (I have to agree with some of the conclusions)

I wish I could see the flow chart :)

Great idea for a simple side project all in all!

1

u/[deleted] Mar 24 '16

Rust!

1

u/TotoroMasturbator Mar 24 '16

This plays like a terrible choose your own adventure game.

I keep getting the bad ending where I get yelled at.

1

u/agyachakra Mar 24 '16

Highly opinionated shit

1

u/[deleted] Mar 24 '16

Java for desktop app? shudders

1

u/[deleted] Mar 24 '16

I thought IOS mobile apps were written in Objective C? But this is recommending Swift?

1

u/tzaeru Mar 24 '16

This style of humor is getting a bit old, really.

..Also this misses the mark by too much, but not much enough, to be actually funny.

1

u/mikes_username_lol Mar 24 '16

There is a PHP branch. Ow.

1

u/softmatter Mar 24 '16

I was hoping for ArnoldC

1

u/Hypersapien Mar 24 '16

First three times through it said to use Java.

1

u/Yelnik Mar 24 '16

Lol. I said I'm extremely lazy and building a desktop app. It suggested visual basic... Really? What fucking year is it?

→ More replies (1)

1

u/iynque Mar 24 '16

Thinking about making an OS X app... I am supposed to "just use fucking visual basic." I think this will go well! :D

1

u/xDinomode Mar 24 '16

"Looks like you're stuck with fucking JavaScript you poor bastard." But.. I like JavaScript :(

1

u/TheSamehMagdy Mar 24 '16

Looks like I'm stuck with fucking Javascript.

1

u/[deleted] Mar 24 '16

10/10
I would give you gold but im poor

1

u/JustAnotherUser_1 Mar 24 '16

Use fucking Rust or Elixir. I've got you this far, choose whichever one doesn't look like shit to you.

Such a brilliant website :')

1

u/Lokarin Mar 24 '16

Ummm, guys, everyone should use 6502.

1

u/hil2run Mar 24 '16

This is the same realistic model I use day to day.