/dpt/ - Daily Programming Thread

Previous thread: What are you working on, Sup Forums?

Other urls found in this thread:

pastebin.com/nytd15JG
youtube.com/watch?v=iSmkqocn0oQ
gnu.org/software/libc/manual/html_node/Variadic-Functions.html#Variadic-Functions
twitter.com/SFWRedditVideos

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.

pastebin.com/nytd15JG

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/watch?v=iSmkqocn0oQ , haskell wishes to be useful.
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/software/libc/manual/html_node/Variadic-Functions.html#Variadic-Functions

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.