Hacker Newsnew | past | comments | ask | show | jobs | submit | asp_net's commentslogin

This is so true.


> it works, but its slow, clunky, and error prone.

Interesting assessment. I use it almost daily, and I have no issue with it whatsoever (macOS <-> iOS <-> iPadOS). Sync works absolutely flawless. UI is not modern and it's a bit slow with Rosetta, but stable and fast enough to add and edit cards. Copy and paste of images works ... stats are okay. And, the most important part, the algorithm just works well for me.

tl;dr: I love it.


i have no complaints on the memorization system itself. it works and thats why i will continue to use anki despite my gripes with it. i do not agree that syncing is flawless though since i've had many major issues in the past. i imagine there are plenty that do not have issues depending on what they're studying and the contents of the decks they make, but that is not what i've experienced.


For anyone looking for a GDPR-compliant solution without Google, take a look at Plausible. Not at all as mighty as GA, but it delivers the most important data IMHO.

https://plausible.io/


JFYI: Unfortunately, Eugen, the author of 7GUIs, has passed away.

R.I.P.

Edit: Source: https://github.com/eugenkiss/7guis/issues/28#issuecomment-51...


Huh, he looks relatively young in his github profile photo, I wonder what happened.


There are many possible reasons. But if his family hasn’t stated anything publicly, perhaps we should not inquire further out of respect for them.


It's not like I'm suggesting or advocating for harassing his family.


Oh, I did absolutely not suggest that. But without knowing anyone of those involved, I just suggested that they might wish that no more information should be disclosed. That was all.


A more recent view: "Who Cares About Functional Programming?"

https://thomasbandt.com/who-cares-about-functional-programmi...


Can you tell more about what kind of project this has been, and at what point you decided to turn around?


It was a WPF desktop application, with a parser component. I managed to write large portions of the UI (all in code, no XAML), but when debugging I discovered that the language and the IDE are slowing me down.

Especially, it's very easy to pass the wrong values to functions (functions instead of final values, etc). Debugging this is very time-consuming.

IDE-niceness is also a factor. Devs tend to disregard this, but all the intellisense, code lens, go to, find refs, etc are huge time savers. You lose many of these capabilities (or get them in a degraded manner) with F#.

Yes, I used all the plugins, etc, but what you get is simply 2nd-grade. This is in part unfixable; the language is simply not designed with such aspects in mind.

And, as said, performance played a factor as well.


As someone who has done some dev in F# professionally I think a lot of the comments above could come from trying to use F# like C#. WPF (and in general older .NET Microsoft frameworks) is probably one of the worst cases for F# however; the framework is designed pretty much exclusively for C# usage (i.e. PropertyChangedEventHandlers, generated C# classes from XAML, etc). From a functional language perspective there's different ways of solving the above problems. While you could code WPF in F# it's clunky and doesn't pass the cost/benefit test IMO in its current state; you would be coding in C# style with just a different syntax since the framework enforces a given coding style.

Performance wise I find it depends on what your doing. I've had nicer code run faster in F# than C# with inlining and such. You can resort to mutable coding if you have to in F# as well so I don't think its truly the case. If your using immutable data structures and writing a WPF app on top without understanding them I can see why you would get the performance hit as an example.

I haven't had a problem with Intellisense, IDE niceness (e.g. Rider, VS Code), Go To Refs seem to even work in VS Code etc. All the Resharper goodies aren't there; but after awhile you find you just don't need them as much in a more leaner language.


> Especially, it's very easy to pass the wrong values to functions (functions instead of final values, etc). Debugging this is very time-consuming.

I have the opposite anecdote. I use F# specifically for its strong type system and domain modelling capabilities.

A method signature in C# might look like

public static void HireHandyman(string handymanName, bool sweepFootpaths, bool waterGardens, bool emptyLitterBin, bool mowLawn)

I can do in F# as

HireHandyMan(handymanName:EmployeeName,sweepFootpaths:SweepFootpaths,waterGardens:WaterGardens,emptyLitterBins:EmptyBins,mowLawn:MowLawn)

Each type listed there is a thin wrapper over the bool type, but I can add additional business logic at the type definition and it is enforced throughout the codebase at compile time (for the most part). Is it a contrived example? Somewhat. Does it prevent me from putting the emptyBins argument in the waterGardens slot? Yes, at compile time.

I do concede the lack of first-class tooling (CLI is not enough, mediocre programmers like me like designers and GUIs! shakes cane) is one of the bigger costs to using F# in particular.


Actually you are usually writing much less code with FP approaches ;-).


I've been developing F# in Rider for the last 4 weeks, and especially the last update made a huge step forward. It's stable, fast, the test-runner works perfectly, etc. It's definitely not at the same level as the C# tooling yet, but it's good enough to be productive. (I'm on macOS by the way, building Xamarin apps).


Glad to hear it's improved!


I have been a Microsoft MVP from 2006-2018. While I was proud to be part of a group of so many smart people at the beginning, my professional and personal life changed over the years and I stopped blogging regularly, never engaged in their new web forums (which replaced the newsgroups – anyone remembers them? ;)) and finally filtered out all of the many emails and newsletters coming to my inbox. So I would say for 10 out of 12 years I have been a ghost. A ghost that has been "re-awarded" every year – for whatever reason. I think that alone tells you something about the value of that "title".


I‘m a .NET developer since 2004 but don’t use Windows and VS anymore since five years or so.

I‘m using F# for some parts of a larger mobile app with Xamarin, and therefore have all three IDEs in use: VS for Mac, Rider, VS Code with Ionide. The ladder feels most lightweight for F# only. In a mixed solution with C# Rider probably provides the best experience at the moment. VS for Mac is not very usable, to put it friendly.

However, tooling is evolving but compared to other platforms not very mature yet. Refactoring for example feels like what most editors support for JavaScript.

But it’s not a show-stopper (for me).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: