Previous thread: What are you working on, Sup Forums?
/dpt/ - Daily Programming Thread
First for Freedom: License your work under the GPLv3+.
I'm entering uni soon but the CS courses available to me are all taught in python
99% of all intro to CS courses are in Java or Python
>le python is bad meme
Real freedom is BSD or MIT.
There is no freedom in commieV3.
Grow up.
lmao don't even bother, save yourself the time and money
should i learn common lisp, scheme, some other type of lisp, OR haskell?
what about nim?
no
no
no
Haskell
avoid haskell.
scheme if you want a lisp toy.
Nim if you want a better lua.
why
what then?
>avoid haskell
why
what is lua like/for?
you're fucking stupid
what is it with undergrad CSbabies thinking they know better than their professors? This seems to be a common thing.
This.
remove haskell
Haskell was the rust before Rust.
Its overhyped because it was different, but is shit.
The language is fragmented, no dependent types, hole-oriented programming which is a bad habit. Not that holes are bad. And then if you want a rabbit-hole go read up on the Xtension issue.
PYTHON IS TRASH AND PROFESSORS ARE OVERRATED KILL YOURSELF
maybe, but i don't care; i just want to learn and improve
i'm only a beginner in java, and i don't know anything about most other langs' merit or uses. trying to figure out what would be good for my brain to learn next.
I don't think you understand what is happening here.
Anyway, I think haskell should just stop with extending the language.
There is way too much in it to the point where it becomes the C++ of functional languages.
All just because some dudes want to add their personal academic research to the compiler.
idris is pretty cool and nice, but I don't know how practical it will be anytime soon.
In the beginning I didn't understand how functional programmers can dislike haskell, and then recommend idris, but nowadays I kind of understand it
>its unnecessary
I don't understand what you mean. How can making faster code more comfortable to write be unnecessary?
From the features I have seen, like SOA and memory alignment, it is really well thought out.
>t won't be worth using simp...
Its not really complicated, so I don't know what you would need to learn in order to use it, except for some simplified syntax for things that you are doing anyway already if you wish for "performant" code.
If you understand the principle concepts of C, learning jai will not be difficult, but writing code will be much more comfortable.
And if the compiler doesn't spit out horrible error messages like C++ there will be a real benefit of using it.
>
>Literally cant have an opinion until he either releases an RC or 1.0 itself.
With this I can kind of agree.
It seems kind of mature from his demos though.
>I dont see what the appeal of it so far though.
Well the appeal is that C++ sucks, but you still want higher level constructs and ease of programming then C.
If it can achieve this, I can imagine this language skyrocketing.
When Jai releases, I will work on libraries, even if it is a doomed toy language or not, since I am convinced that the principles it employs are good.
don't avoid haskell. It will make you a better programmer.
and then there's this nerd
>It will make you a better programmer.
LOL
except that Rust is a horrible clunky piece of shit, while haskell is nice, clean and elegant.
>All just because some dudes want to add their personal academic research to the compiler.
dumbest post I've read in the last three minutes.
my university spends the first year teaching us C# I'm ok with this.
The less people know about a field the more confident they are that they know it all.
Haskell is a monolithic shitheap of badly integrated features and you sound like one of the sort of mouthbreathers here who makes summary judgements on programming languages' elegance based on syntax.
It will, even if you end up never using it in any real project.
Other languages I recommend to become a better programmer:
Erlang, Scheme, C, ASSembly, rc (9plan shell)
There is probably more, but this just comes to my mind.
convince me otherwise.
I think most extensions are bloat, and I am not the only one who thinks so.
fk
i think my first mistake was thinking i'd get a clear answer here..
>Haskell is a monolithic shitheap of badly integrated features
I somehow agree, but I still think that its pretty elegant from a conceptual point of view.
Sure you can learn idris or some other better functional language instead, except you won't learn as much, as there are no large codebases and libraries to learn from.
>and you sound like one of the sort of mouthbreathers here who makes summary judgements on programming languages' elegance based on syntax.
rude.
I made a graph class in Java.
Get cucked professor python
Rust is slow, hard to write, impossible to read, and can't be used in production because it doesn't run on architectures that matter
Haskell is speedy, often within 4x of C, the syntax is intuitive, equally easy for beginner and experienced programmers, its creators believe in astral projection
Haskell is an academic research testbed and always has been. People contributing their experimental features is what it was designed for; lamenting this is dumb. Use something else if it's not what you want from a language.
If you want a FPL, it needs dependent types. And honestly, they shouldnt even be FP-exclusive.
Type-driven development should have been standard over decades ago.
>its creators believe in astral projection
is that supposed to be a good thing?
this is wrong on so many levels
Wrong. I'm going to use the untyped lambda calculus.
For what?
Plowing ur mum
ali' m8
>its creators believe in astral projection
based
>Haskell is an academic research testbed and always has been.
This I totally understand,
but as is portrayed by simon peyton jones in this wonderful video youtube.com
I don't think they are heading the right way with adding more and more to the language, at least when it comes to usefulness.
You won't get around to learning these extension when it comes to understanding common libraries nowadays, and I just kind of don't want to.
Not because I am tired of learning, but I'd rather use a language that was a bit smarter from the get-go (idris for example, although it is useless).
Program in Haskell.
dunning-krueger is nothing new
with that said most of my teachers were completely fucking clueless and I am 100% certain I would do a better job today
what's a good language, db system to write a server backend in?
golang
...
i had to use java and python's way better of the two imo. with python you're never telling the students "just type this, ignore what it means for a couple semesters"
completely offline authorization provider
>using the google botnet isn't good enough
>let's just google's proprietary programming language that injects their botnet directly into our own programs!
depends what kind of server backend but probably go, yeah
buddy I hope you are trying to ruse us
Python
That's Microsoft Visual C++ you are thinking of.
That doesn't make much sense. If it's the exact same code, then gcc and g++ should shit out nearly identical binaries that would behave identically. Clearly the test, if there actually was one, wasn't testing equivalent programs.
>gcc and g++ should shit out nearly identical binaries
not always
>Go (often referred to as golang) is a free and open source(lol) programming language created at Google[13] in 2007
I've never liked or trusted benchmark game because it requires uses to submit programs. Hence popular languages get optimized overengieered stuff while less popular languages are left alone.
go on..
>in 2007
python is nearly 30 years old
its time for a new language
whats the best language created in the last 10 years?
it's MIT licensed
do you understand what this means?
Lisp
>create a language 10 years ago that is already 50 years out of date
>1959
You'd know that's not true if you look at the non-idiomatic bullshit that gets submitted for Haskell. Some of the benchmarks use unsafe pointers and in the past there've been cases where they drop down into GHC Core language.
I've found SIGNIFICANT performance drops compiling C code with g++. I don't understand it myself but it happens.
Granted the code I was compiling was scheme code compiled to C.
not a programming language
>Granted the code I was compiling was scheme code compiled to C.
Still, you'd expect them to compile to about the same thing + or - some name mangling.
And exception support, and probably some runtime polymorphic junk.
X -> Y compiling is shit, and i dont get the purpose. Youre getting worse quality on both sides
I am making a function that chooses all the permutations of a given range. The difference between normal permutation function is that you can specify the number of items to choose.
>Conventional
permutation([1,2,3]) => [[1, 2, 3], [2, 1, 3], [3, 1, 2], [1, 3, 2], [2, 3, 1], [3, 2, 1]]
>mine
my_permutation([1,2,3], 2) => [[1,2], [1,3], [2,3]]
My question is: what name should I give this function?
That's only true with infinite money and time.
Python is worst than shell languages
n-length-permutation
Chunk_Range
Ranged_Chunk
rangedPermute
Got it
Python is worse than most languages
The function doesn't need a special name as much as the second parameter.
I think it would be better to make the second parameter optional. If you're using C,
gnu.org
Why don't you just replace the conventional definition? If you want the conventional answer just pass in 3 or whatever.
I know that's the natural approach. However the standard library already has a conventional permutation and I won't extend it myself (because I am scared that Andrei will laugh at my noob tier pull request)
the language isn't bad.
the things that turn me off are lack of real map/reduce/filter, range returns from slice and arrays, dependencies from my own project, case sensitive scoping, immutability(not a req., can use channels), no generics(interface{} is a poor substitute)
Go is a huge wasted opportunity.
>case sensitive scoping
horrible
what does that even mean?
Dont forget Go's forced formatting.
Go uses case to determine public or private within the context of your package
golang doesn't have public/private keywords. Instead a variable is visible outside its package if its name is capitalized, otherwise it's not.
This is a feature.
i dont mind it when its done right like idris or possibly Nim (ive barely used it but the principle seems sound).
But Go's approach just seems lazy. Oh and no scoped imports.
dlang fag detected
I still can't read d code, so fuck off.
KYS, literal brainlet
If he was really a d-fag he would have had chunk in the name since thats why D's is.
Spent most of today creating an open source project for both React (for web) and React Native. An abstraction over Android's, iOS's, and the browsers APIs image pickers. Consolidated into one, portable API.
Put some time into a client project. A simple React e-commerce site. Using Wordpress for content and their pre-existing, in-house CMS for products information and pricing.
Thought a lot about a Nim project I want to start. e2e encrypted data storage type thing. Can't wait to get rolling on that (God, it's going to be forever until this client project is done).
>horrible
so you'd prefer having to use a keyword for that? because that sucks...
Absolutely expensive
>range returns from slice and arrays
How do you mean? You can return a range of an array or slice via [x:y].
>generics(interface{} is a poor substitute)
The better substitute is defined interfaces combined with `go generate` instead of an empty catchall.
>case sensitive scoping
I like this one since you know the access of something immediately by its name alone.
>Dont forget Go's forced formatting.
This is great, having a standard format makes it easy to parse since you know what to expect, you can render it however your want in your editor and just fmt to standard on save, this feels like the whole space vs tabs thing, someone can just render tabs to the indent size they want which is why it's preferable, with go standard format it's the same argument, since it's expected to be that way you can just parse it and render it how you wish to see it but that won't impact other people, which is great because everyone gets what they want that way.