[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]

What's the best programming language for web backend

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: 94
Thread images: 5

What's the best programming language for web backend and why is it Java?
>>
>>62313970
it's nodejs
>>
It's Python with Django.
>>
it's php with laravel.
>>
>>62313979
fpbp
>>
>>62314087
>php
"foo" == TRUE
"foo" == 0
TRUE != 0

"6" == " 6"
"4.2" == "4.20"
"133" == "0133"
133 != 0133
>>
>>62313970
>web backend
>Java
Don't get me wrong, I love Java but >>62313979 is correct on this one.
>>
>>62314157
Web development is one of the major uses of Java, or more generally the JVM.
>>
>>62314157
>java
>anything but web backend
Java is shit for desktops
>>
>>62313970
>[insert the language you use] is the best
what is the point of these threads?
>>
php.
>>
>>62314125
Weakly typed languages are invariably crap.
>>
>>62313979
>6 trillion bytes of RAM
>>
>>62313970
go
>>
Django is the best!
>>
>>62313979
kys
>>
What makes a good backend language? Some solid concurrency model where you don't need to care for spawning too many threads or processes sounds nice. Else?
>>
Because the JVM actually does a good job once it's hot.
>>
>>62313979
good when you have IO-heavy stuff, need to use a nosql db and/or want to get started fast.
if there is a lot of business logic, you are better off with go/php/java
>>
>>62315391

Number of Frameworks because webfaggots can't handle programming.
>>
>postulating an initial open ended question then changing the question to one that seeks validation for your own opinionated answer to the initial question disregarding that the initial question is open ended and has no definitive correct answer
>>
>>62313970
>>62315863

Java is really the worst JVM language (let's forget about Groovy for one moment).

Clojure, Scala, Kotlin, Jython, JRuby..
They are all much better than plain old Java.
>>
>>62313970
because enterprise uses it for that and invests a lot of money to make sure it's the best. no hipster amateur shit is ever going to get near spring's powerlevel because they don't have the resources
>>
>>62315948
I was talking about the JVM, not Java.
>>
Fuck off you Pajeet shithead.

C++ is objectively best
>>
>>62315976

Fair enough, point taken.
>>
File: ss-2017-06-08-19-50-32.png (392KB, 1272x672px) Image search: [Google]
ss-2017-06-08-19-50-32.png
392KB, 1272x672px
>>62315989
>>
>>62316009

B T F O
T
F
O
>>
Go + AppEngine

Shits fucking tiiiight and the stdlib takes care of 90% of shit
>>
>>62315391
Memes and how hard you can say all other approaches are shit for arbitrary reasons that won't matter unless you're developing under very specific conditions.
>>
>>62316022
Go a shit for JSON though, e.g. 95% of all REST...
>>
>>62313979
Toy language used by:

* babies who can't work with static typing
* idiots who want to seem "flavour of the month"
* masochists who want over complication
>>
>>62313979
it's a better bait than I have expected it to be
>>
>>62316082
>Toy language
not a language
>babies who can't work with static typing
you can target node with typescript

you should just use java or kotlin at this point though
>>
Dat enterprise.

It's readable as fuck, tons of libraries, and it's comfy.
>>
>>62316082
>t. brainlet who can't into middleware
>>
>>62316049
How is Go shit for JSON? I thought that was one of it's main features?
>>
File: tmp_1504456189894-731900137.png (148KB, 296x217px) Image search: [Google]
tmp_1504456189894-731900137.png
148KB, 296x217px
>>62313979
>>
>>62313970
It's Java because
>No weird regressions, runtime bugs or other surprises.
>Plenty of boring frameworks from people with Enterprise needs
>Stack traces, while long, are always accurate
>Has a type system, even if shitty
>Great performance, all things considered

I'm a Haskellfag but when I'm doing a 9-5 job where I get paged every time one of a hundred servers starts filling the error queue, I'm choosing the most boring and stable tech I can find.
>>
>>62315927
Wrong.
>>
>>62313970
spring is king
>>
>>62316186
>paged
it's 2017 grandpa
>>
>>62316130

>it's comfy

Java has many good sides, but "comfy" ..?!?
It's everything but comfy. There is really nothing about Java that is comfy.


>>62316186

>No weird regressions, runtime bugs or other surprises.

Java 8. They FINALLY managad to get lambdas and streams into Java (it's not like every langauge on earth has them already..), HOWEVER:
-java lambdas are no real lambdas, they only pretend
-javastreams are not really lazy, they only pretend
-streams can give you performance hits, therefore the simple "for(i=0; i<10; i++)" is still considered best practice
-java concurrency is sub par. Even modern frameworks like Akka aren't really great for concurrency, they only pretend.

>Plenty of boring frameworks from people with Enterprise needs

Honestly there are many stupid, bloated, heavyweight frameworks and only a few decent frameworks.

>Stack traces, while long, are always accurate
OK, I'll give you that.

>Has a type system, even if shitty
It's really really shitty. This whole "Int vs. int" problems, autoboxing.. It's just bad design. Modern JVM langauges like Clojure or Scala, they all introduced their own data types concept above the Java data types, because they are powerless and poor-quality.

>Great performance, all things considered
Yeah, but it's not because Java is such a great langauge, it's because teh metric shitton of money that was poured into the JVM over the last decades..
>>
>>62314262
>what is the point of these threads?
Just shills trying to push other good* threads out of the way.

*good threads like "linux btfo", "Windows? More like (((schloymdows)))", "Mac is for faggots", "what gpu is best?"
>>
>>62316009
>public on every declaration
So this is what happens when POOjeet tries C++.
>>
>>62316429
>-java lambdas are no real lambdas, they only pretend
what did he mean by this
>>
File: 01000111_00110010_00110000.jpg (543KB, 1000x700px) Image search: [Google]
01000111_00110010_00110000.jpg
543KB, 1000x700px
>>62314262

>what is the point of these threads?

what is the point of anything?
>>
>>62316429
>It's everything but comfy. There is really nothing about Java that is comfy.
it's the comfiest
>>
>>62316632

import java.util.function.Supplier;

class Main {

public static void main(String[] args) {
int someNr = 1;
Supplier<Integer> wannabeClojure = () -> someNr;

// *** uncomment the next line and you'll get an error message: ***
//myVar++;
System.out.println(wannabeClojure.get());
}
}
>>
>>62316894
probably because myvar is never declared heuheueuhe
>>
>>62316009

> conio.h
>>
>>62316894
I don't see what's wrong with this.
>>
>>62316894

Sorry, the comment should be:
//someNr ++;



Anyway, as you can see they don't really are clojures. They are only pretending to be, by disallowing any mutation of the local value inside the method. They call this "effectively final", but it's simply locking down a variable.


Java fags will defend this..
>>
>>62316902
>>62316931

See:
>>62316934
>>
>>62316946
>>62316934
Huh.


I don't get it. Why can't the lambda capture the variable?
>>
>>62316934
closure*

sounds like you've been writing too much clojure
>>
>>62314225
shame really, if they had decided not to release a new version of the jvm every 11 minutes it could have been a reasonable platform for desktop applications
>>
>>62314900
>RAM usage
You know it's 2017 right?
>>
>>62317001

Because it's implemented that way.

Sorry if I come off as a nagger, but you can see at those implementation details that it's actually "only Java" with some sugar coating.

I understand that It's just difficult to do something completely new, since Java has all this legacy code and all thsi optimization in the JVM.


>>62317056

Hah, you're not wrong..
>>
>>62317227
I'm not sure I entirely get it.
import java.util.function.Supplier;

public class Main {

public static void main(String[] args)
{
int someNr = 1;
Supplier<Integer> wannabeClojure = new Supplier<Integer>()
{
Integer captureNr;
{
captureNr = someNr;
}
public Integer get()
{
return captureNr;
}
};

// *** uncomment the next line and you'll get an error message: ***
someNr = 1;
System.out.println(wannabeClojure.get());
}
}

This doesn't work either, and for a good reason. Nothing's being passed into the constructor so the "captured" variable must be a constant baked into the inner class... Right?
What I don't understand is why the lambda couldn't have been implemented under the hood like this.
public class Main {

private static class SupplierImpl implements Supplier<Integer>
{
private Integer captureNr;
public SupplierImpl(int _captureNr)
{
captureNr = _captureNr;
}
public Integer get()
{
return captureNr;
}
}

public static void main(String[] args)
{
int someNr = 1;

Supplier<Integer> wannabeClojure = new SupplierImpl(someNr);

// *** uncomment the next line and you'll get an error message: ***
someNr = 1;
System.out.println(wannabeClojure.get());
}
}
>>
>>62317368

Of course you could easily implement your own closures:

private static class MyClosure {

public int value;

public MyClosure(int initValue) { this.value = initValue; }

}



But they are not very generic and powerfull..
Basically Java just isn't made for functional programming. It's a langauge from the 90s and it's "good enough" for anything. But it's not a clean and well-designed langauge if you compare it to langauges like Lisp or Erlang..


Maybe read about this:

>https://dzone.com/articles/whats-wrong-java-8-currying-vs
>>
Is learning Java worth it in order to learn Scala later? I heard the latter was a very well designed language.
>>
>>62314125
>==
>not using ===
>not using strict mode
You were asking for it.
>>
>>62317700
>when your language is so broken you have to invent a new symbol for equality
>>
i am looking for a book that contains everything about java.

what do you think about this book? I am using jdk 8 btw.
>>
>>62317693
scala is shit. learn java and then maybe kotlin but there's not much point in moving past java.
>>
>>62318239
>there's not much point in moving past java.
Why?
>>
>>62318404
because the other jvm languages are mostly garbage. except kotlin. but kotlin is barely worth learning. it's like java with slightly simpler syntax.
>>
>>62315989
this is actually extremely accurate
recently had to use C++ as a web backend and I was surprised at how simple it was
>>
>>62318654
>he's still using harmful/problematic languages
>>
>>62318557
How is Scala garbage?
>>
>>62318654
How do you do it?
>>
>>62318704
personally used a framework called CppCMS for this project
it's pretty good
>>
>>62318694
functional programming was a mistake. it's a very poor choice for anything except small hobby projects and proof-of-concepts. i'm not gonna explain this, there's plenty of documentation online.
>>
>>62318917
>functional programming was a mistake
Yeah that's why it's used in telecommunications and finance right
>>
>>62319011
because pottering's software is used in telecommunications and finance this makes it good right
>>
>>62319031
>companies that need their models to be as efficient in making money as possible are deliberately using bad languages
Sure thing
>>
>>62319071
>functional languages
>efficient at anything
>good at anything
no
>>
>>62319011
Some people in Ericsson don't like erlang and prefer c, Armstrong don't care about functional programming time design erlang, use prolog as based plus find inmutability,functions,pattern maching as useful.
>>
>>62319310
>prop trading firms are wrong and I'm right
WEW
>>
Golang is nice for web shit.
>>
>>62319364
wait are you talking about erlang?? that shit is hot meme trash. slow af.
>>
>>62316929
I just fucking hate stupid MS niggers but I suppose they have their reasons for complicating my life.
>>
>>62319366
Really.
>>
>>62319403
Prop trading firms don't use erlang you idiot
>>
>>62319433
>hurr only idiots don't know what i'm talking about!!
>of course everyone should know what prop trading is and everything about it!!!!!
autism
>>
>>62319449
You said functional languages were useless, so you admit you don't know what the fuck you're talking about? What a faggot
>>
>>62319482
no i don't know about this very specific domain you keep mentioning that has nothing to do with functional programming
>>
>>62319585
>has nothing to do with functional programming
>when functional programming is extensively used in said domain, and ocaml had its entire standard library rewritten by one of these companies
Retard
>>
JavaScript is the only worthwhile contender 2000+17
>>
>>62319617
you're really autistic dude
>>
>>62319701
>man I outed myself as a retarded faggot
>oh I know I'll call him autistic
you're really pathetic, friendo
>>
pee aych pee
>>
>>62317693
>Is learning Java worth it in order to learn Scala later?
very much so
>I heard the latter was a very well designed language.
a bit too messy for my taste but I don't really need the advanced features in the first place. scala 3 look promising though
Thread posts: 94
Thread images: 5


[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.