Page 2 of 2

Re: Should I become a programmer

Posted: Wed Aug 17, 2022 4:29 am
by Solar
But you should be able to distinguish, in your mind and in your words, between your own point of view ("I find most of today's programming tasks area boring because it's not the same as that one thing I've been working on all my life and I don't find it in me to learn anything new") and advice you would be giving to a young person looking for orientation.

That you are pretty set in your ways is one thing. That doesn't make "most of today's programming tasks boring" for everyone else.

I've been working with C++ backend code on Solaris and Linux for twenty years. Now I'm doing C# on Windows, much of it GUI related. You live and learn. If you no longer find it in you to change, then programming is no longer for you.

Re: Should I become a programmer

Posted: Wed Aug 17, 2022 5:49 am
by rdos
Solar wrote:But you should be able to distinguish, in your minds and in your words, between your own point of view ("I find most of today's programming tasks area boring because it's not the same as that one thing I've been working on all my life and I don't find it in me to learn anything new") and advice you would be giving to a young person looking for orientation.
I'm fine with learning new stuff. What I'm not fine with is to learn stuff that Microsoft (and others) put out just because they want developers to adapt to their system (and lock them into it). C# is not ok since it only works on Microsoft platforms, is modified & owned by Microsoft, and essentially is their try to take over the market. Java is more reasonable, but I've had no reason to learn it.
Solar wrote: That you are pretty set in your ways is one thing. That doesn't make "most of today's programming tasks boring" for everyone else.
I did learn Verilog quite recently. I found that to be an interesting challenge, and I also learnt Xilinx Vivado design suite and how their IPs work, so I think your conclusion is wrong. :) OTOH, Verilog is a hardware related design tool that lies between hardware & software. That kind of thing is what I find inspiring, and I'm probably not alone. Many people that want to do OS dev probably like to work in the junction between hardware & software, and can't be bothered by Microsoft's newest obstructions aimed at tying down developers so they are not writing applications that compete with Windows or Office. I've seen so much on this through the years, where MS invents standards, use them for some time to show they have them, and then remove them again or fail to upgrade them with new versions. DPMI, VCPI, ACPI, and NetBIOS are good examples.

Remember that I claimed I wanted to work with hardware development, and not software. I picked a software job because I couldn't find any hardware job. I'm fine with writing software, but only find it rewarding if it is close to hardware.
Solar wrote: I've been working with C++ backend code on Solaris and Linux for twenty years. Now I'm doing C# on Windows. You live and learn. If you no longer find it in you to change, then programming is no longer for you.
I'm fine with change, but not because Microsoft wants to push something new that is just baggage. :-)

When it comes to segmentation, which I think is a great concept, the history is that Posix and C compilers in general couldn't handle it, and so today's software is written with sub-optimal hardware support. This is a failure of software to adapt to great ideas from the hardware guys, and then people just continue in their old tracks with flat address spaces and paging. I don't find it particularly inspiring to work on this sub-optimal stuff. All you get when everything has to be Posix are poor Posix clones, and nothing new. I find FPGA design & Verilog much more interesting as this actually can solve problems in more reasonable ways with parallel computing rather than sequential Posix software.

Re: Should I become a programmer

Posted: Wed Aug 17, 2022 2:39 pm
by Crono
There are tons of limitations - you can not write and distribute certain code. This forum and some others simply delete it. Like Solar said its no fun. He actually said smth similar to this long before.
Its no fun, but only because of these limitations, to me.
You should not be a programmer if this is OSdev related, unless you have a certain goal that can’t be accomplished whout you own OS, and no one else will write it for you.
Assembly programmers get most fun.

Re: Should I become a programmer

Posted: Thu Aug 18, 2022 1:40 am
by dseller
rdos wrote: I'm fine with learning new stuff. What I'm not fine with is to learn stuff that Microsoft (and others) put out just because they want developers to adapt to their system (and lock them into it). C# is not ok since it only works on Microsoft platforms, is modified & owned by Microsoft, and essentially is their try to take over the market. Java is more reasonable, but I've had no reason to learn it.
Just FYI: C#/.NET runs on Linux for a while now. It is also open source. https://github.com/dotnet

Re: Should I become a programmer

Posted: Thu Aug 18, 2022 3:12 am
by rdos
dseller wrote:
rdos wrote: I'm fine with learning new stuff. What I'm not fine with is to learn stuff that Microsoft (and others) put out just because they want developers to adapt to their system (and lock them into it). C# is not ok since it only works on Microsoft platforms, is modified & owned by Microsoft, and essentially is their try to take over the market. Java is more reasonable, but I've had no reason to learn it.
Just FYI: C#/.NET runs on Linux for a while now. It is also open source. https://github.com/dotnet
That's too late. Microsoft are probably already working on something new that they want to tie down developers with. They always release new stuff regularly so they can keep software developers busy on "catching up" so they don't invent something that M$ wants to have monopoly on.

Re: Should I become a programmer

Posted: Thu Aug 18, 2022 5:44 am
by dseller
rdos wrote: That's too late. Microsoft are probably already working on something new that they want to tie down developers with. They always release new stuff regularly so they can keep software developers busy on "catching up" so they don't invent something that M$ wants to have monopoly on.
Perhaps. But that doesn't change anything about C#.

Re: Should I become a programmer

Posted: Thu Aug 18, 2022 6:37 am
by iansjack
I think it’s worth learning any programming language. They all have something to teach us, whoever produced them.

Re: Should I become a programmer

Posted: Thu Aug 18, 2022 8:12 am
by eekee
iansjack wrote:I think it’s worth learning any programming language. They all have something to teach us, whoever produced them.
Agreed! However, depending on them, as on any software, is a separate set of issues.(!) I've had plenty of trouble with dependencies myself. Due to my health, I've also had trouble with just-about anything which updates frequently.

I'm another one who'd like to be in hardware but I'm in software instead. The availability and relative openness of FPGAs makes me wonder if we'll start to see more hobby OS-hardware combinations, perhaps even with custom cores.

Re: Should I become a programmer

Posted: Thu Aug 18, 2022 2:02 pm
by rdos
eekee wrote: I'm another one who'd like to be in hardware but I'm in software instead. The availability and relative openness of FPGAs makes me wonder if we'll start to see more hobby OS-hardware combinations, perhaps even with custom cores.
That would be interesting, but there are also designs that will not work with Windows or Linux without writing device-drivers, and not a lot people can do that. For instance, FPGAs come with Ethernet, perhaps even with fibre connection and USB 3, but none of these are fast enough to stream data at high speed. Even if USB was fast enough, writing a custom USB driver is not an easy task. Some FPGAs come with high speed PCI connectors configurable with many lanes, and these can handle streaming several GBs per second. However, then you will need to write a device driver that interfaces with the PCI bus. Having your own OS probably makes this easier since you can fit it in some way or another.

Still, this is a very interesting environment. It's not cheap, but the evaluation boards are very complex and includes a license for Vivado (the Xilinx design suit), so you get a very competent system with high class software support. The commercial licensese costs many times more, and building hardware designs with FPGAs is something most people can only dream of doing.

Re: Should I become a programmer

Posted: Fri Aug 19, 2022 3:18 am
by Solar
rdos wrote:FPGAs come with Ethernet, perhaps even with fibre connection and USB 3, but none of these are fast enough to stream data at high speed.
FWIW, USB 4 goes up to 40 GBit/s already. Not the same as PCI, but comparing those is a bit apples and oranges.

Re: Should I become a programmer

Posted: Fri Aug 19, 2022 12:08 pm
by rdos
Solar wrote:
rdos wrote:FPGAs come with Ethernet, perhaps even with fibre connection and USB 3, but none of these are fast enough to stream data at high speed.
FWIW, USB 4 goes up to 40 GBit/s already. Not the same as PCI, but comparing those is a bit apples and oranges.
Might be so, but normal FPGAs cannot achieve that kind of speed on USB. That's because such code typically is implemented in C on the CPU core, and these can only run at a few 100 MHz in the FPGA. I think you need very specialized hardware to be able to achieve that speed in an USB device. For example, USB devices in PIC controllers can typically only handle USB 1 high speed. It's not much easier at the server side. USB is implemented on top of PCI, and typically USB controllers don't have enough PCI speed to achieve this kind of throughput.

Implementing it on PCI is far superior. The FPGA has an IP for PCI, and it's possible to run this at high speed using Verilog and very wide buses. At the server side, you only need a fast enough PCI connection. The PCI device can use busmastering to send data directly to physical memory without any CPU involvement.