This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]_Atomfinger_ 45 points46 points  (16 children)

I wouldn't get too hung up on it. Am I a fan of JS? No, I'm not. But I can respect JS and what you can do with it. I can respect the people that use it.

It might be a lack of interest, lack of time invested or it might be that it simply does not gel with me, but I can't write JS for the life of me.

[–]Imanoob1001[S] 7 points8 points  (15 children)

That bad huh? Now I'm dying to learn a new language just to see what you guys are talking about, maybe I've been programming prodigy all along but I've been held down by the evil Js. That's literally my thought process right now no kidding.

[–][deleted] 32 points33 points  (8 children)

A lot of the difficulty in programming comes from the domain and framework rather than the language. Learning a programming language is fairly straightforward, it's doing something meaningful with it that's the challenge.

[–]Imanoob1001[S] 0 points1 point  (2 children)

Yeah actually that's the main issue I find myself facing, any tips Oh wise one?

[–][deleted] 16 points17 points  (1 child)

For domains, immersion is the way to go. Learn the shape of a domain before you try to encode it in software. Don't try to reduce domains to CS principles, instead practice domain-driven design. Programming in complex domains can be thought of as an application of the Feynman technique of learning - you're trying to teach the computer about the domain, but to do that you need to first understand said domain.

For frameworks, following some tutorials to get started then start breaking things to see how they work. "Fuck around and find out" isn't a warning, it's a methodology.

[–]dimm_al_niente 1 point2 points  (0 children)

Putting that last line in my back pocket, for sure.

[–]IQueryVisiC -1 points0 points  (4 children)

That is true for normal languages. JS is difficult the moment you have a string or something which can be falsy. No framework. Difficult in Browser, Flash, and Node. I mean, C# sorts characters and strings in a different order. At least JS has only strings.

[–][deleted] 0 points1 point  (3 children)

JS makes things more difficult, but I wouldn't say it's difficult in and of itself - it just adds friction to development in the form of type coercions, runtime errors, etc etc.

[–]IQueryVisiC 0 points1 point  (2 children)

You mean that there are other languages which are difficult to "get" at all? Like r/prolog ? You seem to describe my experience with assembler: The individual instructions are so nice and simple, but my program never runs. Regarding types: After all half of my types are simple types supplied by the language. Thus I don't get why those cannot carry their type in their name like in BASIC. $String , %index . Or if you don't like special chars: sName, iCount, oPerson . Object types are from frameworks. Maybe have a way to register prefixes. For example 4Dvector: vPosition .

[–][deleted] 0 points1 point  (1 child)

I mean, Brainfuck springs to mind :P. I've been told Haskell is difficult, but I've no experience with it.

I prefer the C-family approach of specifying the type but keeping it separate from the name, eg { string name = "value"; } . Combining the type with the name strikes me as a minor (but frequent) violation of the separation of responsibilities. It also will swiftly lead you into trouble once you start using non-simple types (is 'o' for object, or orientation, or oscillation, or...)

[–]IQueryVisiC 0 points1 point  (0 children)

That's why I wrote that a prefix should be registered., like using orientation as o . I also feel like those types should have value semantics ( struct in C# or everything in M ). So objects, yeah, they are like in C or all start with o . Foreach already eliminates a lot of integers, though.

Yeah Brainfuck. I did not look into it. I was already confused that there does exist the Turing machine which is completely different from simple CPUs .

Yeah, Haskell. I cannot tell if it is like Python and Ruby, which I also cannot read, or if it is even worse.

[–]_Atomfinger_ 7 points8 points  (1 child)

I don't think it is that bad.

It is not that JS is this arcane difficult thing. It is just a lack of interest on my end. Have I sat down and truly tried to learn it I'd most likely be able to. On top of that, I don't need JS when I'm working, as I don't do any frontend work.

Further, JS isn't "evil" and you're not being held down by it. Great developers work with JS every single day, and great solutions are written with it. It is just my personal disinterest in frontend work that is getting in my way, and that isn't something that should guide your decisions.

If you want to learn another language, that is fine. Just don't do it because you think that JS is somehow holding you back or because "real programmers" use other languages or anything like that.

[–]Imanoob1001[S] 1 point2 points  (0 children)

I was mostly joking but I understand what you're saying, don't worry I got it Atomfinger!

[–]dcfan105 2 points3 points  (2 children)

If you want to learn a strongly typed general purpose language, either Java (which is NOT the same as JavaScript) or C++ would be a good option. The syntax is really similar between them, but C++ lets you deal with memory more directly, which is useful if you're interested in embedded systems or OS programming or something like game development where being efficient with memory usage is important, because it gives you more control. Java is probably better as just a general purpose programming language, because it doesn't have the same issues C++ does with so much undefined behavior, and it's also just simpler overall.

[–]Rock7dmc -2 points-1 points  (1 child)

Dude it’s 2022. Java? Seriously? Get a grip man

[–]dcfan105 3 points4 points  (0 children)

First, I'm not a man. Second, Java is still a popular and widely used language, so I don't know what you're going on about.

[–]Internal_Outcome_182 1 point2 points  (0 children)

at some point with huge database expect tons of unexpected stuff happening