Programming in 2018

Which language would you use if you had to start a new project from scratch?

Other urls found in this thread:

manishearth.github.io/blog/2015/05/03/where-rust-really-shines/
github.com/servo
github.com/redox-os
github.com/BurntSushi/ripgrep/
github.com/steveklabnik
doc.rust-lang.org/book/first-edition/strings.html
doc.rust-lang.org/book/second-edition/ch08-02-strings.html
docs.python.org/3.6/reference/datamodel.html
docs.oracle.com/javase/specs/jls/se8/html/jls-7.html#jls-7.6
twitter.com/SFWRedditImages

Erlang for everything but number crunching + C for number crunching parts.
Other options that I might consider are Erlang + C++ and Erlang + Rust.

probably c++ because that's the only compiled language i know that has developers still know c++ and is actually you know a compiled language.

C++ seems like is only language that satisfies listed requirements. Of course C could be used as well but C++ offers advantages in threading. If you would just need number crunching FORTRAN would work as well. In numerical computations it beats C++ but it's slower for everything else.

rust obviously.
c++ is a nightmare for anything bigger than hello world or fizzbuzz.

HolyC, god's chosen language

manishearth.github.io/blog/2015/05/03/where-rust-really-shines/

Show me any large Rust project Steve. When you speak shit about C++ you have to back that up.

github.com/servo
github.com/redox-os
github.com/BurntSushi/ripgrep/

Java

...

LMAO CUCKZILLA SO FUNNY WITH DEM MEEMS

...

how do you fuck up this much sdeve glabnik?

...

...

heh

That's still small. Servo is 5M LOC, redox 35.8k, ripgrep can't find out.
You don't have to go far to find large C++ projects: LibreOffice 7M of C++ (and that's still small for C++). Your argument about C++ being nightmare for large projects is false.

...

ok


modern c++ with all its "smart pointers" is still far from memory safe

...

That steve larper, have you actually written anything in rust or are you just shitposting?

explain


github.com/steveklabnik

...

No, i mean have YOU written anything in rust. Not has the person you larp as written anything in rust.

yes. but i cant/wont say what because my identity is tied to it

You use what language suits the purpose best. Your purpose isn't anything.
Everyone in this thread should go back in time and give their mother an abortion.

Ada? Sounds like you want Ada. Easily fits every criteria you've listed.

FORTRAN since it has to be compiled. Otherwise I would use numpy with arrayfire, or octave(buggier than the rainforest), or MATlab(proprietary).

...

only shit language like javascript, c, etc. are not strongly typed. even the steaming shitpile that is python is strongly typed.

if python is so bad then why is everyone using it?

Name aside, it's the exact opposite. Ada was specified and primarily used by the US DoD, and these days continues to be used mainly in military, infrastructure and aerospace applications. Absolutely zero SJW taint.

Marketing. Python is very easy to come by when searching on how to learn programming, so many people use it or have heard of it. If people would shill lisp as hard as python everyone would be using lisp instead.

(((lisp)))

(i (highly (doubt (that (tbh)))))

Oy vey indeed.

...

...

and...? this is a shit thread because of your shit op
why? because it can't be open source?
why do you speak as if these are the same requirement?

anyway the answer is Forth.

kek, the only part Forth is a good fit for is the cross platform requirement.

D

you are retarded

oh no, the resident rustfaggot has called me retarded! I am kill!

stop saying shit about forth and i'll consider letting you live

Fix those data types, Steve!

doc.rust-lang.org/book/first-edition/strings.html
doc.rust-lang.org/book/second-edition/ch08-02-strings.html

what kind of software do you write when you are not larping?

webapps

str is a wrapper around [u8]. which means it is a pointer and a length.
string is a wrapper around Vec. which means it is a pointer, a capacity and a length.

C. For windows use any of the 1000 pthread wrapper.

...

...

still a better meme than rustniggering

totally not retarded design

explain

OCaml because I like it. I'd pick Erlang but I'm not good enough at it yet.
Most of my projects don't need big features, so I'd use Perl if I could get away with it because I'm a lazy fuck.

Go or Java.

...

What exact performance do you need? You know that you can easily write performance critical part of code in C and use it in Go with cgo. Obviously there are downsides to this, but is can still be more productive outcome instead of writing the whole thing in C++.

And Java is not that slow. If you know what you are doing you are going to tweak the GC for latency or throughput depends on what you need.

Stop LARPing, it's annoying and is spreading misinformation.

kys

Really makes you think.

It's actually 62 replies

your post doesnt change the fact that go has no generics.

Bikeshedding threads always get more replies than serious threads.

Go.
It's fucking based.

...

C++. I can run it on anything, including the web with emscripten, so it's unlike all the library code I wrote in Delphi, VB, Perl, PHP, and Ruby that is now trash. It will be just as useful tomorrow as it is today, and I can get away with one language per project rather than having to have a front end language, back end language, web language, etc..

C++ or Java, depending on what the project is. I hate Java, but it is built to scale to retardedly-huge projects comfortably, and it's easy to find programmers who know it.

Maybe Rust if I want to learn a new language and waste a bunch of time exploring uncharted territory.

Yeah its poor performance scales rather well.

not PL specific
literally no PL in existence lacks cross platform
you don't even know what you mean by this
not a thing
even if your PL implementation doesn't support this you can just interface to another language, such as C or assembly

USE ECL, EMBEDDABLE COMMON LISP

Score: LARP/10

Sounds like a job for C++.
There's plenty of very large C++ projects.
There's a C++ compiler for almost every platform conceivable.
C++ has standardized threads (std::thread).
C++ is compiled.
C++ is fast.

Java fails because shit performance, Rust fails because of unavoidably bad compile times for large projects, Go fails because garbage collection (also lol nogenerics).

He is kind of right in the sense that most languages today have a way to achieve whatever you want.
In most cases the answer to the question is "The language you are most comfortable with". Even if people say to you that language X is best to do Y, if you are a demigod at language Z, use Z instead unless it has some obvious incompatibility with Y. But if you see it as an opportunity to learn X, then using X can also be a good idea.

You mean the "actual programming thread" infested with the local rustnigger?

what does that mean? how many lines of code? I'm going to assume, maybe 100k?

What? OSX, Linux, Windows x64? Or also BSD, Coco3, C64?

sure. everything has threading support. it's just really painful depending on what you choose, so OK, good parameter.


C++ with Qt. Only sane option given the tools I know. Hell, Clang static analyzer is built into Qt Creator now. Plenty of threading options, reasonable strings, throw in LINPAC & OpenCL for raw numerical speed.

str is a primitive, basically an array of characters. analagous to const char* (but not much like it.) String is just a (heap-allocated) wrapper around str, making it a huge amount easier to work with, like std::string.

that's because it isn't, you fucking autistic nigger. and since you're probably a C tard, you're defending the one language that is slow to use for big projects due to the retarded way people use macros in it

Show that Rust code Steve.

Shouldn't god's spoken word only remain in TempleOS and its children?

This.

But it is. Feel free to try maintaining a 1M+ LoC codebase like Linux, Java, Chrome, Open Office, Windows, etc. in a language that lacks incremental recompilation or where parts of the evaluation, build, or runtime are fundamentally quadratic.
No one uses Java on supercomputers. I wonder why.

lol

systems programming lived without you and will continue to live without you just fine, you won't add any value to it because it's not for pajeets, deal with it.
return to your java and keep calm.

anything to back that up?

Structural equivalence doesn't count.

For windows, download the best and only C11 compliant compiler, Pelles C, and use threads.h like a real human bean

If we are gonna get pedantic about muh implementation details, the ONLY thing that would matter in a language is syntax and features, and these are ultimately what make a programming language something easy to maintain or not.

As shitty as it is, Java is designed around this. That's why you can't define more than one class in a single file, or why files must be named after the class it contains. Meanwhile, JavaScript's lack of enums and the fact that modules are just a relatively recent thing make it unable to be used for anything serious. Same goes for all other global-by-default languages.

Performance is strictly an implementation thing. Fuck, a good JIT should, in theory, shit all over any AOT or even muh assembly (which, by the way, is not cross-platform).

>docs.python.org/3.6/reference/datamodel.html
>LOL

t. never wrote any C++ code in a production environment

not quite true: docs.oracle.com/javase/specs/jls/se8/html/jls-7.html#jls-7.6

>LOL
__LOL__

sounds like a job for C.


weak typing is objectively superior.

proof? looks like bullshit

Measuring the quality of a project in SLOC is like measuring the aerodynamics of a plane by weight.

He is measuring the size of the project, you braindead retard.

No, Pajeet. Any number crunching you do with your poo language can be done faster in C/C++. Anything that isn't number crunching is also faster in C/C++.


C++ is only as slow if you abuse templates or put everything in the header files. If you structure your program correctly, then C++ recompile times do indeed scale better than rust's.

why would anyone do this?

Because it's C++. Welcome to templates.

I'd argue the vast majority of C++ code doesn't even touch templates

I'd argue you're wrong, as someone who does C++ erry day and is currently suffering through a conversion from boost::regex to the infinitely shit std::regex.

yep, i'm on Holla Forums alright

You worthless faggot, even a cout

Touching a library's templates (i.e. std::vector) != Turning all of your project's functions and classes into templates
The first one scales, the second one doesn't.

You know nothing of the horror of templates if you think them being in a library makes them scale.

Please elaborate. The only real problem I can think of can be solved with extern templates.

The canonical example of library template horror is boost. And since most of it was scooped up in C++11-17, now everyone can join in on the fun of creating infinite compile times and bloat.
This only prevents codegen. Each instance of a template is still fully evaluated.

I doubt it. If the compiler knows that it's already evaluated elsewhere, then why would it evaluate it another time?

Python interfacing C

Because it has to. The only thing shared between compilation units is generated code. All the symbol/type/metaprogramming bullshit has to be redone in every compilation unit, and usually for every instance in every compilation unit. The compiler doesn't even know what the codegen portion is until it's done evaluating the template.

wrong

Thank you for your valuable input, user.

Hoon

Ada
Ada
Ada
Ada
Ada or Fortran