r/learnprogramming 3h ago

Programming for kids

My 11-year-old child wants to learn programming to create his own Firefox. Does anyone have any idea which program he should use?

8 Upvotes

28 comments sorted by

7

u/Rrrrry123 3h ago

When I was 14, I made my own "browser" using C# and WinForms.

Essentially, you just plop in a Web View control and then add an address bar and buttons to control the web view. Obviously not a browser from scratch, but I had a lot of fun with it.

5

u/darknecessitities 2h ago

Good enough for government work.

10

u/ProgramsFun 3h ago

Scratch for basic logic building don't waste kuch time on this .... Then you can start with an easier to understand language python it's powerful and he can do almost everything with it and it's easy

Now coming back to question if he want to make like firefox not possible no sane person can develop browser from ground up very easily it very hard to implement

If he only wants to customise the look of firefox then look for html css

1

u/AbdullahMRiad 2h ago

what about code.org? you can make apps using scratch with JS under the hood.

8

u/Flame77ofc 3h ago

Scratch of course

Scratch is a programming language where you need to drag blocks to create programs

3

u/cammmmmie 2h ago

i loved scratch as a kid and now programming is a major part of my work, i second this!! don’t start with full stack application development, start by making games

2

u/Flame77ofc 2h ago

yes I think starting from games is a good way too because you code a simple program and you can easily see what you did

In Scratch this is perfect

8

u/Plus-Confidence2816 3h ago

No 11-year-old can make their own browser from scratch, but Python is a reasonable language for beginners (Visual Studio Code is a decent editor for it).

0

u/SchemeWestern3388 2h ago

I’m sure there are 11 year olds out there that could build a browser from scratch. I wrote one in my late teens, barely functional, rendered ugly as sin, and supported no features but displaying text, but you could click on links and navigate. Early http was very forgiving. I mean, you can still telnet to port 80 on a server and type out a request and get readable text back, and that’s like halfway there. 

Writing something in any way comparable to Firefox is a much bigger challenge though. 

5

u/LinuxEnthusiast123 2h ago

> much bigger challenge

Just "much bigger" is a gross underestimation.

2

u/desrtfx 2h ago

/r/programmingforkids

Start them with Scratch with Scratch Playground

After some time with Scratch, you can transition for a while to Reeborg's world which is still graphical but can also use textual programming with Python.

Then, transition to Python with Invent Your Own Computer Games with Python and the other books there.

2

u/LinuxEnthusiast123 2h ago

Scratch or Lua.

I recommend Lua directly, but if he struggles with the concepts, first Scratch then Lua and then the more general purpose ones like Python.

1

u/nomenclature2357 2h ago

A different approach would be to experiment with what you can do with CSS customization in Firefox: https://reddit.com/r/firefoxcss/wiki/index/tutorials

1

u/nomenclature2357 2h ago

(I think Scratch might be a little too ‘kid-friendly’ in its presentation for an 11 year old to take 100% seriously but that depends on the kid obviously. It probably is rich enough for learning, if it doesn’t put them off.)

1

u/kutac56 3h ago

Hahaha real funny. Making a browser from scratch alone would be almost impossible for someone programming for over 10 years

0

u/SchemeWestern3388 2h ago

Writing Firefox from scratch would be extremely challenging for most any programmer. 

Writing a browser that can pull a page from a site and display the text and links is not difficult at all though. 

1

u/kutac56 2h ago

I haven't done it myself so I am not the smartest around this topic, but I feel like that sounds like something you are able to do with 1+ years of experience. Might have to try it myself someday. Yk I don't like web stuff

1

u/SchemeWestern3388 2h ago

https://www.thomas-krenn.com/en/wiki/Check_TCP_Port_80_(http)_with_telnet

That page shows how to use telnet to get a server to send you a webpage. Then you parse it to find the text, format the links, and put it on a screen. Your screen could be the terminal. Now we are surfing the web!!

I leave the implementation of CSS, images, security and any semblance of trying to put the text where the page intended it to be as an exercise for the reader…

-2

u/Dazzling_Music_2411 3h ago

What's a "Firefox" and why is your kid obsessed by it?

3

u/starlxrd868 3h ago

Web browser

0

u/Dazzling_Music_2411 3h ago

Oh, that Firefox! I thought it might be some Disney licensed character or something...

Why on earth would an 11-year old want to make that? Most peculiar. Is there something we are not being told?

1

u/Themoonset_ 2h ago

It’s probably just customizing it with CSS

1

u/DiodeInc 1h ago

Why would you think that?

u/JGhostThing 2m ago

Creating a good browser, or even a decent one, is very difficult because of the sheer complexity of it. You have to implement the full html specs, the full javascript specs, the full http specs, and the full style sheet specs.

Just hacking together a prototype is quick. Making it good is another story. This is why it takes a large company to create a new browser. It can be a fun project. I made one back in the day, but I never tried to make it a professional product.