The Great Coding Language Thread

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
No, Java is not bad. Java has a bad reputation because it is easy, and that means a lot of bad programmers and programs. That is like blaming Mercedes for the fact 95% of their drivers would gleefully run you off the road.
No the language design encourages bad practices ;)
Also, the haskell quicksort is really short. In three lines of code:
qSort :: (Ord a) => [a] -> [a]
qSort (x:xs) = (qSort . filter (< x) $ xs) ++ [x] ++ (qSort . filter (>= x) $ xs)
qSort [] = []
I could probably do the same in Clojure but I just woke up and thus tired :p
b) I hate Python, but it's still a good language to start with. Certainly better than learning Java as one's first language.
^
b) I learned Java as my first language and I'm doing fine.
Have you ever reached outside of Java?
One way to do things. It's generally easier to do things when there aren't so many ways to do the same thing.
This is exactly why I wouldn't recommend Perl for a beginner language
Actually it can be fairly good for starter game development as well, a bit weak but definitely not a bad option.
It also has some awesome libraries for it to
Python is too basic...
Protip: Don't lie
It allows FP, it is not primarily an FP language. Otherwise your okay :p
C# and Java/Javascript
THE HORROR. Although C# is better than the last two. BUT STILL, THE HORROR
 
  • Like
Reactions: 1SDAN

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
THE HORROR. Although C# is better than the last two. BUT STILL, THE HORROR
Elitest programming preferences are boring. C# is brilliant in accomplishing what it sets out to accomplish. At the end of the day, I can sit down and quickly turn out an app That Works Really Well and makes bajillions of dollars for my stakeholders. Anything else is pointless bullshit.
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Also, the haskell quicksort is really short. In three lines of code:
qSort :: (Ord a) => [a] -> [a]
qSort (x:xs) = (qSort . filter (< x) $ xs) ++ [x] ++ (qSort . filter (>= x) $ xs)
qSort [] = []
Code:
(defn q-sort [[x & xs]]
  (lazy-cat (->> xs (filter (partial > x)) q-sort) (list x) (->> xs (filter (partial <= x)) q-sort)))
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
C# is brilliant in accomplishing what it sets out to accomplish
I'll give it that, it works well. Even if it encourages some shitty code
At the end of the day, I can sit down and quickly turn out an app That Works Really Well and makes bajillions of dollars for my stakeholders. Anything else is pointless bullshit.
No it isn't. Programming is not just a way to make money. It is an art form also. And go try and make that app concurrent
C#, Java and Javascript are fucking amazing!
http://tech.jonathangardner.net/wiki/Why_Java_Sucks#Introduction
http://whydoesitsuck.com/why-does-javascript-suck/
I'll give you C# for what it is, but meh
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
I'll give it that, it works well. Even if it encourages some shitty code

No it isn't. Programming is not just a way to make money. It is an art form also. And go try and make that app concurrent
I'll give you C# for what it is, but meh
What part of bajillion dollars did you miss? Concurrency, scalability, etc etc....who cares. The thing is already performing its main task, which is making money and lots of it. If I have to rebuild it again in 30 years, nobody cares because in Real Life that's what happens to old apps anyway.

And I'm sure programming can be considered an artform, but that's not its primary use in the Real World.
 
  • Like
Reactions: Padfoote

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
What part of bajillion dollars did you miss? Concurrency, scalability, etc etc....who cares. The thing is already performing its main task, which is making money and lots of it. If I have to avenge it again in 30 years, nobody cares because in Real Life that's what happens to old apps anyway.
If using good design practices will help you make your app better and allow you to build it faster. Why wouldn't you try to use them?
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
If using good design practices will help you make your app better and allow you to build it faster. Why wouldn't you try to use them?
Stop right there. That's the extremely popular and common misconception, that you should make it better and faster.

Right now hockey draft season is pending. Yesterday I built a multi-app system to churn out draft results, including historic stats for each picked player. Some dufus programmed it a few years ago, did a shitty job, and it took five minutes to produce results (unacceptable). It now takes 2-3 seconds (and uses a fraction of the network traffic.)

Its not great code or design. Its a good systems design, but the code itself is pretty terrible. I could probably improve it to shave off a few seconds or improve the code so that its easier to modify, but my time is expensive: its cheaper to just leave it as is. Similarly, since I'm not an expensive top-tier-does-everything-right developer, it was way cheaper to hire me than to pay some guy 300k/yr (equivalent) to do it "correctly."

In the end my code might be crap but my solution was art.
 

Padfoote

Brick Thrower
Forum Moderator
Dec 11, 2013
5,140
5,898
563
@Strikingwolf you're stuck in the mindset of doing something for fun and are not looking at the real world applications of coding. @Pyure clearly has far more experience in that field than we do, and has covered it pretty well.

This is why I will always disagree with you on Python and C++. You dislike them and encourage people to stay away from them, yet I always recommend them. I went through ~150 job listings a month ago for computer science, electrical engineering, and computer engineering. Out of those 150 or so listings, only ONE mentioned Ruby (while preferring Python), while about 120 required C++, Python, or both. The remainder required AutoDesk experience, but that's not exactly revelant to this discussion.

The real world isn't what you're used to with code. That's something I suggest getting used to real fast if you plan on doing anything with code for a living.
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Stop right there. That's the extremely popular and common misconception, that you should make it better and faster.
You misunderstood me, I meant be able to make the app faster. Therefore you could make more apps and thus more money all in a shorter amount of time
Its not great code or design. Its a good systems design, but the code itself is pretty terrible. I could probably improve it to shave off a few seconds or improve the code so that its easier to modify, but my time is expensive: its cheaper to just leave it as is. Similarly, since I'm not an expensive top-tier-does-everything-right developer, it was way cheaper to hire me than to pay some guy 300k/yr (equivalent) to do it "correctly."

In the end my code might be crap but my solution was art.
True, where a solution is better suited to the situation then that is fine. But when you could do the same correctly in an equivalent or lesser time frame then you do.
 
  • Like
Reactions: Pyure

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
@Strikingwolf you're stuck in the mindset of doing something for fun and are not looking at the real world applications of coding. @Pyure clearly has far more experience in that field than we do, and has covered it pretty well.
Obviously I am, I have never been the type to look at real world application. I am more interested in theory than anything. And theory is a real world application ;)
This is why I will always disagree with you on Python and C++. You dislike them and encourage people to stay away from them, yet I always recommend them. I went through ~150 job listings a month ago for computer science, electrical engineering, and computer engineering. Out of those 150 or so listings, only ONE mentioned Ruby (while preferring Python), while about 120 required C++, Python, or both. The remainder required AutoDesk experience, but that's not exactly revelant to this discussion.
I like Python o_O

I don't like C++, but it is a standard language. If you want to learn good paradigms for a systems language choose Rust. If you want to know the standard choose C++
The real world isn't what you're used to with code. That's something I suggest getting used to real fast if you plan on doing anything with code for a living.
To tell the truth I don't care about the "real world". What I'm doing right now is just as real as what anyone else is doing. Currency is just something humans invented, and has no place in a universal marketplace. But knowledge is the ultimate currency, especially for someone who doesn't care about living.
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
To tell the truth I don't care about the "real world". What I'm doing right now is just as real as what anyone else is doing. Currency is just something humans invented, and has no place in a universal marketplace. But knowledge is the ultimate currency, especially for someone who doesn't care about living.

I'm buying a 4k TV this week. They don't accept knowledge.

Btw dude are you already making money with your skills? I realize you're still in school but you could make a pretty penny by taking online subcontracts. Hell, I'd pay you.
 
  • Like
Reactions: Padfoote

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
I'm buying a 4k TV this week. They don't accept knowledge.
Actually they do, indirectly. You can sell a book containing your knowledge written down for currency. Then exchange the currency for a 4k TV, provided you make enough money from said book
Btw dude are you already making money with your skills? I realize you're still in school but you could make a pretty penny by taking online subcontracts. Hell, I'd pay you.
I'm not, I've thought about it before, but honestly I don't have much use for money for these reasons
  1. People do not get happier with more money after they can avoid financial stress
  2. I have the equipment I need
  3. Gaining money for the sake of money isn't something I'd do
Then again I wouldn't mind getting some better equipment. But besides surviving all I want in life is the ability to do the things that I love. And generally the things that I love to do can be done with three things
  1. A decent computer
  2. A decent internet connection
  3. Electricity
So as long as I can keep myself alive and have those three things I'm fine ;)
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Not that simple.
True, but everything anyone says is a gross oversimplification if we are to go by physics. It all depends upon your level of abstraction. Also, the point still stands that knowledge can be traded for currency in some way
 

Reika

RotaryCraft Dev
FTB Mod Dev
Sep 3, 2013
5,079
5,331
550
Toronto, Canada
sites.google.com
True, but everything anyone says is a gross oversimplification if we are to go by physics. It all depends upon your level of abstraction. Also, the point still stands that knowledge can be traded for currency in some way
Abstraction or simplification to the point of inapplicability is worthless.
Case in point: Netwon's laws of gravitation are not perfect. Relativity gives a better model. However, it is within a tiny fraction of the data derived from Netwon's model except in extreme cases, and as a result NASA sent the Voyager probes to four planets, including repeated gravity assists, using only Newton's model. However, simplifying the system so that all the orbits are circular? Enjoy being in deep space 50 000 000 km from the nearest object.
orbits.gif