The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
Sometimes I wonder about F#...
I remember a while ago I spent the effort of learning all the syntax and then.. I dropped it.. perhaps because I found it hard to interact with F# and not worth the effort for only fuzzy benefit...
Can anyone enlighten me and motivate me to give F# another try?
Well, it's three letter "better" than C# ... and that's all I know about it.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
Devs don't really like the word "Flat" as it has negative connotations. E.G. Flat Tyre and feeling flat.
So probably not such a good name for a programming language.
Sharp is well accepted as we think that it refers to our minds, our intelligence and our wit.
On the other hand, being a rather sedentary job, I noticed that Bb or B Flat is a supposedly an expensive fat burning belly cream that is supposed to flatten your stomach and remove stretch marks.
Just looked this up but I don't believe it.
In addition I should add that I know what you are doing here.
When A# is finally released, just don't tell the Devs that it has equivalence with Bb, else it is doomed.
"Rock journalism is people who can't write interviewing people who can't talk for people who can't read." Frank Zappa 1980
I'm not a musician, but I thought the sequence of sharps in the major scales was
0. (C major)
1. F# (G major)
2. C# (D major
3. G# (A major)
4. D# (E major)
5. A# (B major)
6. E# (F# major)
7. B# (C# major)
6000000. (Lee Majors)
It's kind of less useful than it once was since C#'s LINQ and lambdas/anonymous methods are pretty mature and together provides functional programming within an imperative language, giving you the best of both worlds, so to speak. F# is geared toward purely functional programming like Scheme or Haskell, and as such is basically a glorified query language. It's great for mathematical style code, or query code, but not much else, honestly. While there's some modicum of state it's not really geared for stateful programming.
I learned Haskell at school.
Never did anything with it, but...
It gave me another way of thinking about code and that's priceless.
Since I've taken that course, my C# code looks different.
I've taken out the global variables and reduced side effects by a lot.
Most of my code is just thread-safe by default now.
And when it isn't, I know it isn't and I know the implications.
If that didn't happen to you after learning F# the last time, it may not have landed and you may want to give it another try.
C# isn't a functional language, so you may not reap all the benefits of functional programming, but at least all the best ones
I've read part of an F# book years ago, when it just came out (I think it was F# 2.0).
I think the language is beautiful and in some respects ahead of C#, but I've never done anything with it since then
Sometimes I think F# is the playground for new C# features though.
Today I unboxed an ESP32 wearable in watch form. I was thrilled. Color display, bluetooth, wifi, accelerometer, IR sensor, vibration thing, and a little sound module, all in a tiny package. It was about $50 USD.
The default firmware worked great, but I bought it so I could program it.
I go to program it. The thing takes fine and uploads, is clearly running - spewing to the serial port, but there is no display.
So I try another library. Nothing.
So I try another library. Still nothing.
So I try the source code for the default firmware. Still nothing.
The backlight for the display won't even turn on, which tells me that the pin assignments are completely wrong in the documentation or they're using a different display than the one in the documentation. At this point there is no other possibility, since their default firmware doesn't even work with it when I recompile it. Meaning the source is out of date - doesn't match the hardware.
So I've tried to contact them but it's a chinese company so who knows. LilyGo is a brand a lot of people use, but I'm not confident in their support.
Furthermore, I got an AI Thinker A1S ESP32 sound board with an unusual codec that nobody supports. The datasheet for it is incomplete. There is no example code that works except one that forks the entire ESP-IDF - and even that one wouldn't actually produce any sound for me. There's $30 wasted.
So I've dumped $80 into two development projects that work perfectly hardware wise, but because of lazy people refusing to keep their documentation and sources accurate, complete and up to date they are basically trash. That's the worse part. I know both of these devices work, but I may as well stomp them to pieces.