Live data from Hacker News

How I, a non-developer, read the tutorial you, a developer, wrote for me

anniemueller.com

331–340 of 455 posts

Re: How I, a non-developer, read the tutorial you, a developer, wrote for me

#331

Earlier quoted context omitted.

I fully disagree with Java as a starting point and it was an interesting conversation with the teacher. Apparently, "College Prep" courses more or less determine that Java is the language that they should use. His teacher thought it was stupid as well, but sometimes your hands are tied. That's what the schools are using as a starting metric though. He was apparently the only person in the class that said he wanted to…

My first programming class was Java. That was 8 years ago. Maybe the curriculum designers thought Java would be relevant for the workplace? The education system always lags several years behind industry trends.

My first programming was also Java. That was...27 years ago! That's some lag.

Re: How I, a non-developer, read the tutorial you, a developer, wrote for me

#333
post #199

Earlier quoted context omitted.

Great job, you've failed to document the point.

You’ve assume your beginner knows that In the Terminal meand open the Terminal application, knows how to open the Terminal, knows that the Terminal uses typed commands, knows that typed commands are followed by Enter, and knows that the text following Terminal are the typed commands to be entered.

The non-garbling threw me off (it wasn't jabbernocks), so assumed some passing familiarity. But even granting that, you can add a few minutes and a few google searches to your complexity budget.

Re: How I, a non-developer, read the tutorial you, a developer, wrote for me

#334
We devs are really good at answering two out of three questions:

1. How? This is the tutorial. It might be really helpful, for specifically what is being taught.

2. What? This is the reference documentation. It's often the most usable and complete resource.

3. Why? This is the context. It can only be learned by getting familiar with the environment. This journey is where we devs grow our metaphorical (and sometimes literal) neckbeards.

---

We could stand to pay a lot more attention to question #3. The contexts we have surrounded ourselves with are messy, conflicted, incompatible, and surprising. Some particularly savvy devs have made incredibly powerful tools to help clean up this mess, yet somehow those tools are some of the least noob-friendly software we have! How did we get here? Is there any way out?

I think the most uninviting part of our environment is also the most familiar: the shell. There are a lot of pokey bits that we really don't need anymore: escape sequences, suspend, environment variables, etc. What would happen if we took a serious look at starting from scratch? Could we do better than a REPL?

It's pretty incredible that after all these years, no one has actually made a real competitive alternative to the shell, and I have a theory for how we got here. The GUI model was created by corporations for proprietary software. We call them "applications", because they are supposed to cater to a specific predetermined use case, which is precisely what makes them inferior to shell utilities. This development model isn't limited to GUI either: apps have taken over the entire development scene.

I think if we really started fresh, we could revolutionize modern software to be more compatible, flexible, and malleable than any application could ever be. That's what a shell is already, which is why we devs never want to leave it behind.

Re: How I, a non-developer, read the tutorial you, a developer, wrote for me

#335
post #263

Earlier quoted context omitted.

".NET can serve the same use cases as Java, it's not just for windows programming. It's actually getting really good." Last time I tried NET was 15 years ago, so I have no first hand knowledge anymore, but I do read regular complaints, that cross compiling to Linux(or developing there) comes still with major hurdles at times?

Nah, DotNET is amazing these days. At the risk of starting a holy war, it is neck-and-neck with Java, and I say that as a Java fanboi. I think it is good to have healthy competition between languages (and ecosystems), like C++ and Rust (and a little bit Zig) or GCC and Clang or Java and DotNet or Python and Ruby or NodeJS and Deno. Plenty of people are compiling and deploying to Linux after DotNetCore went open sourc…

.NET is amazing and keeps getting better. JetBrains is killing it with their IDEs and add-ons.

Currently running nearly a dozen different services written in .NET running on Alpine in K8S.

Started transitioning most of my code to .NET Core/Standard when they first came out. Sadly, I still have to deal with some ASP.NET MVC code that was written before and requires .NET Framework

Re: How I, a non-developer, read the tutorial you, a developer, wrote for me

#336
post #206

Earlier quoted context omitted.

I learned Java in uni and think it's a fine language to start with. It's also been modernized a lot in the past decade, and if you really want a more modern language it's easy to transition to Kotlin. I'd take Java over Python or JS any day. It wins on performance, it wins on type system, js is just a plain trash language not at all suited for general purpose programming (TS solves some problems but not all and it ha…

C# is amazing. Decisions at the education level were made well before it went cross-platform though (FWIW, I've been using it since before v1.1). Would be interesting in what confusing syntax you're referring to. I think one of the beauties of it is that it's additive. You can program plenty of simple stuff in it with conventional style code, but there's a lot of syntactic sugar available that makes things so easy wh…

I agree, C# is my language of choice and I've been using it professionally for over 5 years. I use it for personal projects as well.

I'm referring to all the stuff C# has that Java doesn't. Async, ref/in/out keywords, extension methods, linq, lots of stuff. Maybe it's not a big deal, like I said I wouldn't really mind it. I just think Java is a bit simpler in this regard which is an advantage for beginners.

Some differences where I prefer java are checked exceptions and imports. C# usings are ambiguous, it can be difficult to figure out where things are coming from for code samples outside an IDE. And checked exceptions are just good IMO. I've never seen why people dislike them, having used Java and C# I think Java does it better. It's easy to miss exceptions in C#, I wish library developers could use checked exceptions to tell me which exceptions I should worry about.

Anyway both languages are great first languages and great general purpose languages. Highly recommend both.

Re: How I, a non-developer, read the tutorial you, a developer, wrote for me

#337

Earlier quoted context omitted.

Those are references, not tutorial. They are there to refresh your memory. Usually you look for code examples or a guide for learning how those work (even AOSP apps if needed)

About JDK Java docs: > Those are references, not tutorial. This is a great phrase. I fully agree with your sentiment. To me, I never read Javadocs in HTML-only form. I always read them in an IDE, along with the library code in question. If anything is unclear from the Javadoc, then read the code (which immediately follows the Javadoc).

I also occasionally fall back to the source when the documentation isn't comprehensive enough.

But as library users, we're generally not supposed to have to learn the system from its source, aren't we?

Re: How I, a non-developer, read the tutorial you, a developer, wrote for me

#338
post #48

Can't recommend this approach highly enough: have someone with minimal expertise go through your docs with the goal of achieving the goal of the docs. Sit next to them or screenshare. Do not speak to them, certainly do not help, just watch. Watch them fumble. Watch them not know what to do. Watch them experience things you (the author) didn't, because you already had xyz configured on your machine and you forgot user…

this works great, if, they speak out their thoughts verbally, in real time.

Re: How I, a non-developer, read the tutorial you, a developer, wrote for me

#339

Earlier quoted context omitted.

My first programming class was Java. That was 8 years ago. Maybe the curriculum designers thought Java would be relevant for the workplace? The education system always lags several years behind industry trends.

My first programming was also Java. That was...27 years ago! That's some lag.

> 27 years ago!

Sometimes, I feel like I'm the only old guy on here. BASIC, VB6, .NET, and some Java along the way.

Too many new ones to list, although that might be a whole other problem in itself.

Re: How I, a non-developer, read the tutorial you, a developer, wrote for me

#340
post #48

Can't recommend this approach highly enough: have someone with minimal expertise go through your docs with the goal of achieving the goal of the docs. Sit next to them or screenshare. Do not speak to them, certainly do not help, just watch. Watch them fumble. Watch them not know what to do. Watch them experience things you (the author) didn't, because you already had xyz configured on your machine and you forgot user…

LLMs have mostly eliminated the need for this. They are quite good at explaining things.

[flagged]
Post reply on HN