[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


[Advertise on 4chan]


File: 1765821450688.png (229 KB, 1748x1134)
229 KB
229 KB PNG
Why are you not using F#, /g/?
>>
cmon.
>>
because "functional" programming languages are a meme and the only fun one to play in is elixir, but I'd still never use it in a production environment
>>
>>107560875
>t. filtered
>>
>>107560509
The syntax of these functional languages can be
nice, but you can actually approximate that pretty well in C++
>>
because I do not trust Microsoft at all.
what do I gain over Clojure, beyond types? types become annoying when there are so many things they cannot represent (this number must be prime and within the bounds of 35 to 117, this hash map must contain username keys that belong to this array of users and no user can have identical usernames, etc.) that I get to the point of using a dynamic language with schema validation via things like Malli.
types are nice for optimization, I will admit, but Clojure has type hinting.
>>
>>107563007
F# is open source
>>
>>107560509
Because it’s OCaml but tied to a heavy runtime and MS ecosystem I don’t care about, and I already use OCaml.
>>
>>107560509
because it seems nice, but coming from Clojure it seems like a step backwards in terms of syntax and reach.
>>
>>107564112
This is how I feel. I use elixir for everything but if it didn’t exist, I’d use Clojure. Functional + enforced immutability + easy concurrency primitives = bliss for 99.9% of software development. I see no reason to use anything else unless it’s low-level development at which point I bite the bullet and use C despite its warts.
>>
>>107563938
embrace, extend, extinguish.
I do not trust Microsoft at all.
their "engineering" in Windows is atrocious. while I do not expect them to introduce such shit code to .NET, a company that irrational is not one that I desire to be in charge of the virtual machine I rely upon.
>>107564254
why not Clojure over Elixir?
things I dislike about Elixir/Erlang:
- the syntax is too liberal.
- the formatter does not join broken-out expressions into a single line if possible, resulting in a one-way formatting process (unless manual intervention is taken). also, the formatter's docs claim to not treat anything with special care, when this is obviously not true given its treatment of `|>` (which is handled differently from `and` or `+`, for example).
- :gb_sets and :gb_trees must be balanced prior equality checks, otherwise you might get incorrect results. this also makes using them as Map keys very annoying.
- Elixir does not wrap enough Erlang data structures (such as :gb_sets and :gb_trees), resulting in the need to do Erlang interop (and forgo the use of Enum or Stream), or end up writing your own Elixir integration (or use someone else's). pic related is an excerpt from my own wrapper.
- pattern matching (with guards) in general seems excessive. too much flat code = too much repeating yourself (repeating different matches with identical sub-parts). I much prefer nesting with explicit interior conditionals if needed. Clojure's destructuring does everything I need.
- pattern matching does not work on generic Enumerable or Streamable elements. in Clojure, destructing works with the sequence abstraction (or associative abstraction).

also, I created this issue for Erlang: https://github.com/erlang/otp/issues/10450
I believe this issue also exists in Haskell. I believe that you can get around it in Clojure via the Kryo lib (need to test this at some point).
>>
>>107560509
>no lisp syntax
into le trash
>>
>>107564827
NTA but I think most people using elixir use Phoenix. Which would also answer your question on F#, you get access to .NET. It’s the reason why I wrote a few tools in F# and not ocaml. Also I’ve heard ocaml tooling in Windows is terrible
>>
>>107564929
with Clojure you get access to the JVM
>>
File: 1727026438089694.png (5 KB, 346x68)
5 KB
5 KB PNG
>>107564857
>>
>>107560509
I personaly prefer Gb
>>
>>107560509
>#
fuck microshart



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.