/comfy/ programming languages

ITT:Programming languages that are comfy and fun

Other urls found in this thread:

docs.chef.io/ruby.html
rubyforadmins.com
github.com/rapid7/metasploit-framework
github.com/mruby/mruby
shiroyasha.io/running-shell-commands-from-ruby.html
riscos.com/support/developers/manual_index/basic.html
nomad.uk.net/articles/why-gos-design-is-a-disservice-to-intelligent-programmers.html
catb.org/jargon/html/story-of-mel.html
youtu.be/ytEkHepK08c?t=151
blog.golang.org/generate
twitter.com/NSFWRedditGif

what

/thread

lua
scheme

fpbp
Go is even more boring than Java.

...

C

Ruby
>inb4 Ruby is useless

Can we keep this thread going?

>t. never used go

go seems like the hip new thing. Add another thing to pile of stuff to learn..

Shakespeare, obviously

Kotlin.

>Brainfuck
>Assembly
because:
-they makes sense
-they are straight forward
-clear as day
-excellent performance
-functional, clean
-a baby could read and write them

Who else /brainfuck/ or /assembly/?

rust

It is though

x64

The comfiest language is C# and nothing will ever change my opinion.

Take a guess

Seconded.

It just flows so well.

JS

APL
prolog
erlang
haskell
lua+torch
smalltalk

>No generics
I hope the whole structural typing thing catches on though.

Common Lisp.

I have not yet worked with other DateTime libraries, is Go's normal?
There is a magic date constant (Mon Jan 2 15:04:05 MST 2006) which has increasing number on each field and you can write a time format layout with it, parsing and formatting functions can take actual date string of this date as an argument, not some %H %M %S format strings.

i think there are better ways to commit suicide, user

js
add(..., console.log)

>blurring username
Why?

No generics in c
>I don't need them anyway
No generics in go
>wtf Go btfo

> C#
> using the .NET ecosystem

mmmmmmmmm, boring

You can make every programming language comfy by trying something worse

You will even make writing bash scripts fun if use Assembly for a week

>excellent performance
Humans aren't as good at optimization as compilers

>C
>using the .NEET ecosystem

Everyone with a job uses C#

C is a (relatively) low level language so a lack of (relatively) high level features is excusable. Go doesn't have the same goals as C.

I think you meant: "Every wincuck with a job uses C#"

Whatever you say pajeet.

i work at a super big tech company, nobody uses c#

>being a linuxcuck at a company
Unless you are a servermonkey, believe me, everyone hates you

Pretty much this.

Python is more widespread, Go is better for small servers..
But nothings comes even close to the comfyness of Ruby.

>almost never have to import anything
>perfect packages system
>any pacakge you can think of
>run C or C++ code from within Ruby programms with ONE single import
>any funky feature you can think off: dead code elimination, continuations..
>Perl-like RegExpressions
>OOP done right
>functional programming inbaked
>the most elaborate metaprogrammign you can think of
>blocks
>blocks
>..did I mention blocks?

that's why it has interfaces and composition embedding

what can you do with ruby apart from web development? legit question

Additions

The web is the future. Javascript is the one true king.

yeah but I hate ruby slowness, Crystal lang tho is really interesting

Those are good features that I would be happy to see in a C derivative.
If C++ was about auto-implemented interfaces rather than OOP I'd have a lot more love for it.
But I'd prefer not to see those things in C. To me, C is about simplicity.

>blocks your path

scripts, I've seen many devOps picking it up as it's really easy to write code on it

Java.

Simple without feature bloat like C++ or C#, giant standard library, best concurrency, best multiplatform support, strongly typed, best IDEs, best ecosystem, bindings for everything, all the jobs you want.

>puts node in wasm

ugh come on pajeet, not the most verbose cloggy and slowest (startup wise) language pls

It's too verbose and inexpressive. While it correctly avoids feature bloat and fares better than alternatives like C#, some modern features like type inference or pattern matching are quite easy to regret not having.

* also best browser search toolbar included in the official runtimes

This no joke.

Wolfram is pretty comfy, too bad it's proprietary.

Oh, and generics. Java generics are a horribly leaky abstraction and are generally shit. That's one thing C# does better.

>what can you do with ruby apart from web development?

Oh, well anyrthing.

Configuration management:
>docs.chef.io/ruby.html

System Adminstration:
>rubyforadmins.com

Penetration testing:
>github.com/rapid7/metasploit-framework

Embedded systems:
>github.com/mruby/mruby

And of course it's - last but not least - a sweet scripting langauge.
>shiroyasha.io/running-shell-commands-from-ruby.html


Ruby isn't really slow, not if you use it for waht is was intended. Of course abstraction always comes with costs, but you'll save this in development time.

Rails is slow, because it's huge, but please don't confuse Ruby with Rails. Ruby is a scripting langauge and seriously if you do heavy number crunching with a scripting langauge then you don't get the point of scripting langauges at all.


That said, I do hope that Crystal takes off, but I'm pretty sure Ruby will always have a few magnitudes more users.

BBC BASIC
If you have a raspberry pi, install RISC OS, refer to this
riscos.com/support/developers/manual_index/basic.html
and enjoy fun programming

>what can you do with ruby apart from web development? legit question
What you can and should do instead of web dev is using mruby as macro language in your application.
As bonus, mruby has been audited some time ago.

Segmentation fault

Same reason I'm not a tripfag

>t. Google drone brainlet

I'd love to learn CL, but it looks so much harder than Scheme. A lot of syntax to remember..

F#
literally the best designed programming language, also pretty good ecosystem

I want compiler from CL and syntax of scheme

elixir

generics are like cancer, they get introduced because "muh collections" and last thing you know every fucking type in every fucking program is parametric.

If this didn't happen I would like generics.

>No generics in c
>>I don't need them anyway
Said no sane programmer ever.

>generics are like cancer, they get introduced because "muh collections" and last thing you know every fucking type in every fucking program is parametric.
And that is totally the generics fault.

>I don't need generics
>passing void pointer and type size

This is exactly what I meant.

no, we are just not ready as a civilization.

Speak for (You)rself.

parametric polymorphism > subtype polymorphism

static concrete types > both

Use templates rather than generics then.

I'd rather stop jerking off the compiler and just solve the problem I'm solving. That swap function? It doesn't need to be generic.

nomad.uk.net/articles/why-gos-design-is-a-disservice-to-intelligent-programmers.html

>using go
>claiming to have a 3 digit IQ

The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt. – Rob Pike

>nomad.uk.net/articles/why-gos-design-is-a-disservice-to-intelligent-programmers.html
The go version is written in horrible unidiomatic style, probably to construct a strawman, and yet I would still pick that up over D.

Take this line:

>auto text = source.byLine.join.to!(string);

what the shit is this? Function calls that look indistinguishable from member access? No thanks. What happened to the argument of join? Does it have none or does it take a default value? Why does a fairly low level class to access files have a "byLine" method? It shouldn't know anything about lines.

UFCS senpai.
foo(bar) can be rewritten as bar.foo()or bar.foo. It's useful for template stuff.

prolog is the more comfy programming language.

C and Python

catb.org/jargon/html/story-of-mel.html

I read a lot of code written by others. There's two kinds of shit code: (1) code written by retards characterized by functions that nest 5 levels deep and are 1000 lines long, and (2) code written by bored geniuses trying to show off by using every feature of the language.

We can't prevent (1), but (2) is preventable and having shit like that in the language doesn't help.

>it's essentially C, but so much more....
THEN JUST USE C YOU FUCKING MANIACS !

It's idiomatic to do that kind of thing in D.
"Hello, World!".writeln is how they do it. I don't like it either.

Go has libraries in the standard for parsing AST, code generation, a templating system, and more. There are already tools out there that you can use to mimic the C++ style of templates or you can define whatever you want.

This honestly, I feel like every function doesn't need to handle every type possible. Go interfaces are way more than enough to solve this either way.
>I need this thing to be swappable, I will just implement a swap receiver on this type
youtu.be/ytEkHepK08c?t=151

Scheme bitch

>this language is like this other language but has the things you want
>you should probably use the other language though
What kind of reasoning is this?

func Reduce(in interface{}, memo interface{}, fn func(interface{}, interface{}) interface{}) interface{} {
Closed the article at that point. This is another case of some shitknob crying because the language doesn't support OOP ideas like Generics, and then them bitching about how terrible the language is after they try and circumvent that and force it to include generics.

>pic unrelated

>Can't even write a reduce function
>"W-why would you want a reduce function anyway?"
The only thing you're proving is that Go is inexpressive as fuck

It is much more complicated. But that is partly because Scheme doesn't really contain a lot of what you need to make useful software (granted, R7RS is changing this.) To actually make something useful, you usually have to use implementation-specific extensions that are usually not as well-documented as CL. This means you lose portability, and you're right back at having complicated features.

Why are you misconstruing what they said like that?

>boilerplate example
Author should read this blog.golang.org/generate

APL?

Hate all you want, batch files still feel comfy to me.

Especially when the thing to automate is a tiny little micro task like a file copy or something, anything more is overkill.

I still gotta learn python tho.

>batch is only useful for micro scripts
>powershell is super verbose and you can't invoke scripts from cmd like you can with .bats
I really hate scripting on Windows. Still though I might recommend powershell over Python on Windows just for the obvious support, I've had nothing but headaches with Python when going outside of the standard library. That being said the Python standard library will probably do everything you need if you're only going to use it for shell scripting.

Go is a strictly procedural language, just like C. There's no functional programming or OOP concepts like Generics.
People keep bitching about this for some reason, but it just flat out doesn't make use of those paradigms, and there's nothing inherently wrong with that.

What makes you think generics are particularly bound to functional or OOP paradigms? C++ templates don't have anything to do with OOP or functional features.

Oh I feel your pain with PowerShell. Supposedly not launching scripts that way is a security "feature".

I do use PoSh for more complex tasks now, mostly for that native compatibility like you said. I do need to break out of my Windose shell soon tho for automating Linux servers on my sysadmin route for the future. Luckily nearly every client still uses MS.