Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
MononcQc
May 29, 2007

Malcolm XML posted:

can u explain why elixir is bad, or is not bad? i have to rescue a garbage node app and am considering it

Elixir is bad because:

I don't like how they take things I believe are right in Erlang and then change them: single assignment, minimalist syntax, lack of powerful macros (I like them in personal projects, but not team work), standard tooling that disregarded OTP stuff and makes it hard to interact with, ambiguous syntax (especially around pipes and parens-free function calls). Like if you ask me to fix Elixir, I'll undo these and you'll end up with Erlang, mostly.

I have no proof, but my theory is that for a newcomer who has never done functional programming, functional languages should look different in order to feel different because they are different. The challenges and costs of operations aren't the same everywhere. Elixir looks like Ruby, and my sub-theory is that Ruby people don't mind because Ruby is so god damned slow that even if they program Elixir wrong, it's likely gonna be faster than Ruby any way, and Elixir is inhabited by ex-Rails devs looking for something better than their abysmally slow stack.

Lastly, for me there's no visible advantage to using Elixir because: a) I have an Erlang job b) I like Erlang better c) Elixir doesn't bring a lot of new stuff to the table and therefore doesn't justify the cost of me switching. The next language I learn should be different so I can learn stuff from a different problem space, not similar so I can learn a vastly similar way to do stuff I already do. I'm unlikely to switch personally.


Elixir is good because:

I like it and the underlying model better than whatever node.js or Go do.

If I had to pick any language between these four, I'd pick Erlang first. If I had to pick anything else, I'd go for Elixir. Probably I,d order them Erlang > Elixir > Go > node.js (or any javascript).

If I were working on web stuff only, shuttling CRUD stuff between templates and a DB on a team, I'd probably take a look at Elixir and Phoenix. The Erlang community has literal web development retardation (in that the state of the art of web frameworks in Erlang is often hobby level in other communities)

I'd rather live in a world full of ex-rubyist elixirites than one full of golang nuts. If there's no chance you can sell your people on Erlang, sell them on Elixir.

MononcQc fucked around with this message at 20:23 on Dec 10, 2015

Adbot
ADBOT LOVES YOU

triple sulk
Sep 17, 2014



as far as i'm concerned elixir is already ruined because the community is full of the same dsl jerkoffs who made ruby/rails bad in the first place

http://www.phoenixframework.org/docs/routing

this poo poo is no better than any ruby framework aside from the fact that it can actually handle concurrency

edit/addendum: not that ruby was ever that great in the first place, but at least by itself it's an okay scripting language if you don't abuse it

triple sulk fucked around with this message at 20:48 on Dec 10, 2015

tef
May 30, 2004

-> some l-system crap ->

Xarn posted:

I am p. sure its a gimmick.


hi i don't use syntax highlighting

tef
May 30, 2004

-> some l-system crap ->
i am only beginning to reconsider now that ruby's syntax errors are so atrocious that when i do gently caress up it's a nightmare to find and make the effort to change an editor setting

Soricidus
Oct 21, 2010
freedom-hating statist shill

tef posted:

hi i don't use syntax highlighting

not even for comments?!

that's like deliberately clubbing yourself in the balls all the time you're working

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

MononcQc posted:

Elixir is bad because:

I don't like how they take things I believe are right in Erlang and then change them: single assignment, minimalist syntax, lack of powerful macros (I like them in personal projects, but not team work), standard tooling that disregarded OTP stuff and makes it hard to interact with, ambiguous syntax (especially around pipes and parens-free function calls). Like if you ask me to fix Elixir, I'll undo these and you'll end up with Erlang, mostly.

I have no proof, but my theory is that for a newcomer who has never done functional programming, functional languages should look different in order to feel different because they are different. The challenges and costs of operations aren't the same everywhere. Elixir looks like Ruby, and my sub-theory is that Ruby people don't mind because Ruby is so god damned slow that even if they program Elixir wrong, it's likely gonna be faster than Ruby any way, and Elixir is inhabited by ex-Rails devs looking for something better than their abysmally slow stack.

Lastly, for me there's no visible advantage to using Elixir because: a) I have an Erlang job b) I like Erlang better c) Elixir doesn't bring a lot of new stuff to the table and therefore doesn't justify the cost of me switching. The next language I learn should be different so I can learn stuff from a different problem space, not similar so I can learn a vastly similar way to do stuff I already do. I'm unlikely to switch personally.


Elixir is good because:

I like it and the underlying model better than whatever node.js or Go do.

If I had to pick any language between these four, I'd pick Erlang first. If I had to pick anything else, I'd go for Elixir. Probably I,d order them Erlang > Elixir > Go > node.js (or any javascript).

If I were working on web stuff only, shuttling CRUD stuff between templates and a DB on a team, I'd probably take a look at Elixir and Phoenix. The Erlang community has literal web development retardation (in that the state of the art of web frameworks in Erlang is often hobby level in other communities)

I'd rather live in a world full of ex-rubyist elixirites than one full of golang nuts. If there's no chance you can sell your people on Erlang, sell them on Elixir.

yeah unfortunately selling peeps on erlang is off the cards, primarily due to the prolog syntax.

that said any language short of haskell is not particularly minimal so im ok to move from js to something like elixir.

yeah given that the apps are database skins im ok with railsisms


triple sulk posted:

as far as i'm concerned elixir is already ruined because the community is full of the same dsl jerkoffs who made ruby/rails bad in the first place

http://www.phoenixframework.org/docs/routing

this poo poo is no better than any ruby framework aside from the fact that it can actually handle concurrency

edit/addendum: not that ruby was ever that great in the first place, but at least by itself it's an okay scripting language if you don't abuse it

dsls are ok if you have macro expansion features. not sure i like the prevalence tho

crazypenguin
Mar 9, 2005
nothing witty here, move along

MononcQc posted:

lack of powerful macros (I like them in personal projects, but not team work)

I don't even like them in personal projects. Macros are the worst decision language designers can make.

It's also the single biggest thing I'm disappointed with Rust about.

As far as I can tell, people get enamored with the idea that a program is just a data structure and you can manipulate it! (Which, granted, is loving awesome and why I went into pl/compilers.) But then they turn off their brains when it comes to all the downsides to macros. It's not just teams that make macros bad, it's also the way they destroy all your helpful tools and generally just make everything complicated for no gain. (Really no gain, because you can do everything people use macros for better in some other way.)

quote:

I'd rather live in a world full of ex-rubyist elixirites than one full of golang nuts.

idk. Go strikes me as a language designed by people with some stupid opinions, but actually manages to serve a niche and is used by plenty of reasonable people. I've seen people build reasonably good projects with Go, despite its shortcomings.

I'd take that over the usual rubyist stereotype any day.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

Shaggar posted:

has there been anyone who's tried the current asp.net web stack and hasn't converted?

what is the current asp.net web stack? if i'm an idiot who hasn't used asp.net yet (which i am), where do i start?

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

crazypenguin posted:

I don't even like them in personal projects. Macros are the worst decision language designers can make.

It's also the single biggest thing I'm disappointed with Rust about.

As far as I can tell, people get enamored with the idea that a program is just a data structure and you can manipulate it! (Which, granted, is loving awesome and why I went into pl/compilers.) But then they turn off their brains when it comes to all the downsides to macros. It's not just teams that make macros bad, it's also the way they destroy all your helpful tools and generally just make everything complicated for no gain. (Really no gain, because you can do everything people use macros for better in some other way.)


idk. Go strikes me as a language designed by people with some stupid opinions, but actually manages to serve a niche and is used by plenty of reasonable people. I've seen people build reasonably good projects with Go, despite its shortcomings.

I'd take that over the usual rubyist stereotype any day.

yeah i rly dislike macros even w/ macro-expand since its basically an excuse to go hogwild making GBS threads up dumb features

Shaggar
Apr 26, 2006

CommunistPancake posted:

what is the current asp.net web stack? if i'm an idiot who hasn't used asp.net yet (which i am), where do i start?

http://www.asp.net/

install vs community 2015 and play around. a fun and easy demo project is to create a web chat using MVC for the UI and then SignalR for the realtime chat.

jre
Sep 2, 2011

To the cloud ?



CommunistPancake posted:

what is the current asp.net web stack? if i'm an idiot who hasn't used asp.net yet (which i am), where do i start?

Look at mvc 5

http://www.asp.net/mvc/overview/getting-started/introduction/getting-started

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





MononcQc posted:

Elixir is bad because:

counterpoint:

code:
"hallo world"

in elixir this is pretty much exactly what you expect. in erlang it's a bottomless pit of horrors

Destroyenator
Dec 27, 2004

Don't ask me lady, I live in beer

Emacs Headroom posted:

ive heard that .net stacks are common in finance. do you work in finance? the only tech place I know with a .net stack is zocdoc, and they were started by ex-finance people, ha
.net is one of the best stacks if you can deploy to azure paas offerings or have people who care enough (and you trust) to maintain windows servers. luckily lots of enterprise shops do actively maintain windows server installs and startups can use azure easily so there's lots you can do in that space. hopefully the next asp (due in q1) will make mono a viable option.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

Malcolm XML posted:

yeah unfortunately selling peeps on erlang is off the cards, primarily due to the prolog syntax.

that said any language short of haskell is not particularly minimal so im ok to move from js to something like elixir.

yeah given that the apps are database skins im ok with railsisms


dsls are ok if you have macro expansion features. not sure i like the prevalence tho

my take, as someone who is learning both (but very very early on):

the really important defining features of erlang are the VM and OTP. The VM enables all the cool concurrency / error handling / distribution stuff, and OTP, which informs the design of basically every worthwhile library.

both of those things are fully accessible to someone learning elixir, and both of them are embraced by the community. libs built in either language can be called from the other, and since they both use OTP design, they are functionally compatible as well.

the only really important difference between erlang and elixir, as far as I'm aware, is the syntax. i agree with monoqc about elixir's syntax being really ambiguous at times. It's got some really bad poo poo in there. But it has some good poo poo too and it is much nicer to learn than erlang.

My biggest complaint about elixir is the tutorials don't do a very good job of introducing OTP. What I did was blast through the elixir tutorial up to the point where they start introducing OTP (so, basically all the syntax stuff) and then jump over to Learn You Some Erlang when I was comfortable with writing programs in elixir and wanted to learn how to really leverage the platform.

Despite the fact that I've done 100% of my coding in elixir, I've had absolutely no problem following along with LYSE. Everything fits together just fine.

I'm definitely going to make the transition to mostly Erlang eventually, but for now elixir is suiting my needs very well.

Emacs Headroom
Aug 2, 2003

Destroyenator posted:

.net is one of the best stacks if you can deploy to azure paas offerings or have people who care enough (and you trust) to maintain windows servers. luckily lots of enterprise shops do actively maintain windows server installs and startups can use azure easily so there's lots you can do in that space. hopefully the next asp (due in q1) will make mono a viable option.

was just glancing through the documentation on azure; didn't realize it supported hadoop and spark and all that

is there an equivalent to kafka and storm for queuing / streaming events?

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Emacs Headroom posted:

was just glancing through the documentation on azure; didn't realize it supported hadoop and spark and all that

is there an equivalent to kafka and storm for queuing / streaming events?

MALE SHOEGAZE posted:

my take, as someone who is learning both (but very very early on):

the really important defining features of erlang are the VM and OTP. The VM enables all the cool concurrency / error handling / distribution stuff, and OTP, which informs the design of basically every worthwhile library.

both of those things are fully accessible to someone learning elixir, and both of them are embraced by the community. libs built in either language can be called from the other, and since they both use OTP design, they are functionally compatible as well.

the only really important difference between erlang and elixir, as far as I'm aware, is the syntax. i agree with monoqc about elixir's syntax being really ambiguous at times. It's got some really bad poo poo in there. But it has some good poo poo too and it is much nicer to learn than erlang.

My biggest complaint about elixir is the tutorials don't do a very good job of introducing OTP. What I did was blast through the elixir tutorial up to the point where they start introducing OTP (so, basically all the syntax stuff) and then jump over to Learn You Some Erlang when I was comfortable with writing programs in elixir and wanted to learn how to really leverage the platform.

Despite the fact that I've done 100% of my coding in elixir, I've had absolutely no problem following along with LYSE. Everything fits together just fine.

I'm definitely going to make the transition to mostly Erlang eventually, but for now elixir is suiting my needs very well.

cool

as long as I can get that sweet sweet genserver in my Lang I'm ok

I agree the ambiguity is kind of rear end

still better than Haskell where nothing is ambiguous but ends up having 9 loving type params I'm looking at you lens


e: iirc you have to hack up something in azure queues or service bus (lol)

I think they were working on something involving storm but u can always host it yourself

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
i started hacking together some changes to pipe syntax so that you can at least specify how you want to compose things, something like,

code:
g(c) |> f(a,b)   =  f(g(c),a,b)

g(c) |2> f(a,b) =  f(a,g(c),b)

g(c) |3> f(a,b) =  f(a,b,g(c))

some stones are best left unturned

MononcQc
May 29, 2007

MALE SHOEGAZE posted:

i started hacking together some changes to pipe syntax so that you can at least specify how you want to compose things, something like,

code:
g(c) |> f(a,b)   =  f(g(c),a,b)

g(c) |2> f(a,b) =  f(a,g(c),b)

g(c) |3> f(a,b) =  f(a,b,g(c))

some stones are best left unturned
This was my back-of-the-envelope pipe macro proposal for Erlang: http://erlang.org/pipermail/erlang-questions/2015-July/085109.html I haven't taken the time to implement it, but if there's interest I could definitely sink the time to do it.

bobbilljim
May 29, 2013

this christmas feels like the very first christmas to me
:shittydog::shittydog::shittydog:
In the first few papers of my BS CS (from a top 50 private university) we used IDEs with syntax highlighting. however as the courses became more advanced i started using a hammer to alternate between hitting my head and my nutsack

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer

Shaggar posted:

people pop up here every now and then touting their latest fad lang but lots of them get shamed into leaving and/or embrace the light of c#/java.

remember when people used ruby? lol

the fact that rjmcall is a swift dev is more comforting than it probably should be. there's a quiet comfort in knowing your lang-of-choice is maintained by a yos-poster, though.

ultramiraculous fucked around with this message at 07:14 on Dec 11, 2015

leftist heap
Feb 28, 2013

Fun Shoe

bobbilljim posted:

In the first few papers of my BS CS (from a top 50 private university) we used IDEs with syntax highlighting. however as the courses became more advanced i started using a hammer to alternate between hitting my head and my nutsack

rob pike says "text me"

Destroyenator
Dec 27, 2004

Don't ask me lady, I live in beer

Emacs Headroom posted:

was just glancing through the documentation on azure; didn't realize it supported hadoop and spark and all that

is there an equivalent to kafka and storm for queuing / streaming events?
not sure sorry, i've moved to an aws shop and stopped following azure features

distortion park
Apr 25, 2011


ultramiraculous posted:

the fact that rjmcall is a swift dev is more comforting than it probably should be. there's a quiet comfort in knowing your lang-of-choice is maintained by a yos-poster, though.

swift is basically c#, by apple, though

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe

ultramiraculous posted:

the fact that rjmcall is a swift dev is more comforting than it probably should be. there's a quiet comfort in knowing your lang-of-choice is maintained by a yos-poster, though.

:clint:

:blush:

:glomp:

tef
May 30, 2004

-> some l-system crap ->
python's had two goons at the very least, i know a golang dev who lurks here too. yospos gets everywhere i guess

tef
May 30, 2004

-> some l-system crap ->

Soricidus posted:

not even for comments?!

that's like deliberately clubbing yourself in the balls all the time you're working

:confused: it's just been so long using editors on other people's machines, remote machines, that setting up an editor to be perfect for me means some effort and pain.

i'm a computer janitor who ended up doing coding, so uh this whole "gaming rig" approach to text editors just passed me by

tef
May 30, 2004

-> some l-system crap ->
this is me https://www.youtube.com/watch?v=3vAnuBtyEYE

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

crazypenguin posted:

I don't even like them in personal projects. Macros are the worst decision language designers can make.

It's also the single biggest thing I'm disappointed with Rust about.
Macros are pretty awesome in the same way that complicated #define's are awesome in C. And if they break the error messages are god-awful.

Thankfully C++ fixed the reliance on defines by introducing the wonderfully elegant world of templates. Now, if THEY break the error messages are...well, let's add concepts to the language to improve the error messages, etc. *rabbit hole sprung*

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

tef posted:

python's had two goons at the very least, i know a golang dev who lurks here too. yospos gets everywhere i guess

im part of the elm-dev mailing list and contribute a bit to the elm core libraries, but im an idiot and not many people use elm

tef
May 30, 2004

-> some l-system crap ->

crazypenguin posted:


It's also the single biggest thing I'm disappointed with Rust about.

the recent things of using toml and markdown also irk ~my aesthetics~. on the other hand, rust seems to be driven by servo, and that's neat. but for the sort of programs i tend to write: glue some heavy lifting in C together to work over a cluster of machines, rust feels like a little bit to heavyweight for me. i'm not the target audience. the thing is, i like ref counting and gc over manually explaining ownership and lifetimes to the borrow checker.

but i really, really don't like toml. it looks like rust literally picked a format that people use because it was on the front page of hacker news. (although i'm informed they picked it over writing a new ad-hoc one, even if they had to convince the author to fix the language https://github.com/toml-lang/toml/pull/283 )

i too look forward to a new special make file, written in toml

and yes markdown, so that's likely another markdown variant too

quote:

I don't even like them in personal projects. Macros are the worst decision language designers can make.

As far as I can tell, people get enamored with the idea that a program is just a data structure and you can manipulate it! (Which, granted, is loving awesome and why I went into pl/compilers.) But then they turn off their brains when it comes to all the downsides to macros. It's not just teams that make macros bad, it's also the way they destroy all your helpful tools and generally just make everything complicated for no gain. (Really no gain, because you can do everything people use macros for better in some other way.)

macros can be used to make code easier to read, theoretically, but usually they seem to be "be your own rasmus" in terms of language features, and optimised for making the code simple to write.

i guess i'm sounding like rob pike with the whole "why do you have to put everything on one line" etc,

quote:

idk. Go strikes me as a language designed by people with some stupid opinions, but actually manages to serve a niche and is used by plenty of reasonable people. I've seen people build reasonably good projects with Go, despite its shortcomings.

I'd take that over the usual rubyist stereotype any day.

if i needed to write a cross platform command line program with a small footprint, go is pretty good for that.

tef
May 30, 2004

-> some l-system crap ->

fart simpson posted:

im part of the elm-dev mailing list and contribute a bit to the elm core libraries, but im an idiot and not many people use elm

i've never contributed any code of meaning or value

gonadic io
Feb 16, 2011

>>=
I submitted a bug report to ghc once when the compiler asked me to

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord
I fixed a super trivial thing on python once

got my name in the contributors.txt :getin:

tef
May 30, 2004

-> some l-system crap ->

tef posted:

i've never contributed any code of meaning or value

ok i did write something bad that ended up being used by archive.org but i think someone else wrote a better one

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

tef posted:

ok i did write something bad that ended up being used by archive.org but i think someone else wrote a better one

didn't you contribute to the ruby parser and talked to matz and stuff? or were you just studying it?

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

fart simpson posted:

im part of the elm-dev mailing list and contribute a bit to the elm core libraries, but im an idiot and not many people use elm

i have a single commit in crystal but it does actually change the syntax of the language so that's cool

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





fart simpson posted:

im part of the elm-dev mailing list and contribute a bit to the elm core libraries, but im an idiot and not many people use elm

i use and love elm. your work is much appreciated

i'm in the erlang contributors.txt for telling them they handled unicode noncharacters wrong and having the patch i submitted completely rewritten

MononcQc
May 29, 2007

I patched the OTP supervisor once, and also the Erlang SSL library to be able to ignore forms of client-initiated renegotiation.

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer
I've written so many library functions nobody will ever see. Enterprise :sigh:.

Hypothetically I'm an application developer, but inevitably I always bump up against some foundational API that's just super dumb and wrong and end up rewriting a bunch of shared library code before I carry on with whatever end-user bauble I was working on.

Adbot
ADBOT LOVES YOU

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
yeah, internal APIs are even worse than external APIs. it's the major fault with soa.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply