Best Programming Language for a Smart Teenager

In summary: Python, including books, online tutorials, and videos. Good luck to you and your granddaughter on your programming journey!
  • #36
yungman said:
how the hell the programs in 4 chapters can be 5GB is size from VS? Those are all example short programs

Visual Studio maintains a .vs subfolder (in same folder as the solution file) with a lot of temporary information generated for code insight and similar which over time eats up a lot of space, so if you have included that in your size measurement I'm not surprised you see 5 GB used. I haven't investigated why, but it sure seems like VS is not really good at reclaiming unused files in that folder so I often end up just deleting that folder from time to time.

Another thing that may influence the size of the executable (not that I think this is what you see with your 5 GB usage) is whether it uses static or dynamic (shared) linking. Default should be dynamic linking which means the executable size is small but then requires the proper DLL's to be present on the path when running the executable, whereas full static linking means big executable but no extra DLL's required at runtime. Real world VS solutions is often a mix of these with standard libraries being dynamically linked and internal project libraries statically linked.
 
  • Like
Likes yungman
Technology news on Phys.org
  • #37
Vanadium 50 said:
That is the same as saying "my tires are rated at 130 mph, but it still takes me 3 minutes to get to the grocery store and it's only a mile away!"

yungman said:
No, it's like we give you a sports car and it takes you 30 minutes to the store instead! You are taking it for joy ride instead of driving directly from point A to B in the name of "sophistication" and "elegance".

You are missing the point. Transfer rate is not the limiting factor when storing large numbers of small files to a flash drive, in the same way as tire rating is not the limiting factor on a local journey. It has nothing to do with 'sophistication' and 'elegance', the point is that you are trying to do the wrong thing with the wrong tool and complaining that it doesn't work very well.

If you want to save your source files for posterity then just save your source files. Better still, use a source code repository e.g. GitHub.
 
  • Like
Likes Vanadium 50
  • #38
If asked twenty years, I might have recommended Turing for high schools students.

https://en.wikipedia.org/wiki/Turing_(programming_language)

In 1996-97, I taught high school for one year, and this is what was used for the computer programming course that I was assigned.
 
  • #39
Filip Larsen said:
Visual Studio maintains a .vs subfolder (in same folder as the solution file) with a lot of temporary information generated for code insight and similar which over time eats up a lot of space, so if you have included that in your size measurement I'm not surprised you see 5 GB used. I haven't investigated why, but it sure seems like VS is not really good at reclaiming unused files in that folder so I often end up just deleting that folder from time to time.

Another thing that may influence the size of the executable (not that I think this is what you see with your 5 GB usage) is whether it uses static or dynamic (shared) linking. Default should be dynamic linking which means the executable size is small but then requires the proper DLL's to be present on the path when running the executable, whereas full static linking means big executable but no extra DLL's required at runtime. Real world VS solutions is often a mix of these with standard libraries being dynamically linked and internal project libraries statically linked.
Yes, if you just look at the source files, it's very small, a few k's. I can just save the source files, but then if I have to open it, I have to create a new project, copy the source files in before I can open the program. So I have to back up the whole project.

I never few VS is that reliable. Numerous times I had to close the program and re-open it after it behave strangely. I tried Rebuild and Clean Solution, it didn't work. There were times I actually had to restart the computer. But it's no worst compare to all the other stuffs I bought lately.
 
  • #40
pbuk said:
You are missing the point. Transfer rate is not the limiting factor when storing large numbers of small files to a flash drive, in the same way as tire rating is not the limiting factor on a local journey. It has nothing to do with 'sophistication' and 'elegance', the point is that you are trying to do the wrong thing with the wrong tool and complaining that it doesn't work very well.

If you want to save your source files for posterity then just save your source files. Better still, use a source code repository e.g. GitHub.
But it seems like people taking if for granted the hardware is getting faster and faster, then they can add more "features" and say speed is not the problem and keep dreaming up more "elegance" stuffs to add in. for example, all the platform independence programming, you must have extra interface, translations the clutter up the program, making it so big and take so many jumping and calling to get there.

Am I the only one that notice all the response of the computers in cars, tv and other electronics are getting slower and slower and having more issues compare to just 6 years ago? Are the hardware part are getting faster and faster and the final produce is getting slower and slower.

When we bought our 2018 car, the salesman actually warn us that you have to have patience with the control and display. That it takes time for the screen to display, then it takes time to run the joystick to go to the right place. the most sickening thing is if you want to switch from D to R or back, it takes 3 seconds to switch instead instantaneously like my 6 years old of the same brand. try when you want to make a 3 point turn on a busy street, you might get killed because of the delay. You want me to talk about 737 Max jet?

Just bought an 82" Samsung tv, the remote is something else to get to the menu you want, each step takes like 3 to 5 seconds and so many steps to get to what you want to adjust. Compare to my 4 years on 65" Samsung, everything is instantaneously. Same brand, not cheap stuff, 4 years apart only. What went wrong?

Then the printers. I am returning my 7th or 8th all-in-printers in the last 3 to 4 years. The Brother MFC-J805DW did not make it to the 10th print out of a simple word doc without getting into error and print only half a page and stuck! We are forced to keep the Epson EcoTank ET-2720 we bought a month and half ago, it only failed to print 3 times printing word doc. This seems to be a normal thing now a days. I contacted Epson, they send me the instruction to go to control panel and reload the printer! I guess this is the normal thing now, that you are expected to run into problem with brand new hardware.

Then my 2 years old cloth washer, one time, it just started blinking, start and stop and play funny music. I had to unplug and plug back to fix the problem..... then the new DirectTV boxes that we HAD to change because they are going to stop supporting the old ones. The response of the new ones are so slow, every steps is like 5 sec.

I am sure you can find reason for every single case, but the point is why the new stuffs are so slow and unreliable? As a hardware designer, I can assure you hardware is DUMB, they only listen to the programs, we basically just set and reset some bits, taking data and run through DAC to give analog signal, taking in analog signal and use ADC to convert to digital bits and send them back to the software. ALL the problems are most likely from software.

That's why I have a bright idea, why don't people use all the elegance and sophistication to write the programs that WORK and faster.

Do you want to buy something, then expect to spend time to troubleshoot to make it work over and over. Then every time the automatic updating, then things change and have to relearn stuffs again to use it. My wife use the printers for crafts, every time things change, guess who's going to hear about it and have to fix it? I can understand PC need to be update all the time because of security. Why the hell they have to update the printer and everything? It's more like they keep changing for the fun of it and try to make life difficult for users. Even I know how to deal with all these, I DON'T want to. So why not make use of the elegance and make things actually user friendly and reliable?

User friendly is not keep asking " are you sure you want to do this?" everytime you try to do something. The most sickening thing is after asking all the questions, then it still doing it wrong like all the stupid Canon printers.
 
Last edited:
  • #41
George Jones said:
If asked twenty years, I might have recommended Turing for high schools students.

https://en.wikipedia.org/wiki/Turing_(programming_language)

In 1996-97, I taught high school for one year, and this is what was used for the computer programming course that I was assigned.
One of the times my eccentric orbit intersected a university was in the mid'80's ; a first year computer course - taught by the guy who wrote it - used it as a working language. Pretty buggy, at the time.
 
Last edited:
  • #42
yungman said:
Yes, if you just look at the source files, it's very small, a few k's. I can just save the source files, but then if I have to open it, I have to create a new project, copy the source files in before I can open the program. So I have to back up the whole project.

Sound's a bit like you missed my point.

You only need to backup the source files and the solution/project files. If you back up the whole folder that holds your solution file you will (with a default configured solution and projects) also backup the huge .vs subfolder I mentioned and the build folders holding the binary module files and final executable (which you don't need to include in your backup if you are fine with building the solution again from your backup).

But I guess we are straying a bit off topic now, so let's take this in another thread if needed.
 
  • #43
  • #44
sysprog said:
:wink: @yungman post #40 nice rant :wink:
When my big boss go "$hit $hit $hit" up stairs threaten to throw the printer out the window, guess who's the one that has to quietly go fix it? New car spent 2 months in the shop the first 6 or 7 months after we bought it. Yes, I am kind of feeling bitter about it particularly I start learning C++ and see all the elegant things. I am a simple person, I just want my things work and do what I want right away. I don't need a nanny to keep asking me whether I am sure that's what I want. If I hit the button by mistake, I'll pay the price and I learn.

Before, I only know the hardware side of things, I only know the newer stuffs just don't work well and slow. Now that I spent a few months learning hard on programming, I start to see why. Hardware is to the point it's only a tool, like designing a better hammer, better screw drivers and clamps. But someone has to use them to create the piece of art. It's up to that someone to make it work, make it reliable and make it simple for everyone, that people don't have to be IT person to make things work. At least don't give problem in printing a single sided page of word document! Is that too much to ask?

My big boss's computer is only 6 months of so old, latest gen I5 at the time, SSD drive, large memory. It's not a cheap computer, everything of ours are very new. There is no excuse about compatibility. 3 new printers in less than a year! None of them are cheap stuffs.
 
Last edited:
  • #45
yungman said:
I can just save the source files, but then if I have to open it, I have to create a new project, copy the source files in before I can open the program. So I have to back up the whole project.
You're doing it wrong. You don't have to create a new project and copy over the source files. All you need to do is to double-click the .sln (solution) file for the project you want to revise.

Also, if I want to save the files I delete everything but the source code files, the executable, and the files that VS uses to keep track of things ( .sln file, .vcxproj file, and the two other .vcxproj.xxx files). The other files can be deleted, but can be created again if you rebuild the project.
yungman said:
I never few VS is that reliable. Numerous times I had to close the program and re-open it after it behave strangely. I tried Rebuild and Clean Solution, it didn't work. There were times I actually had to restart the computer.
I thought we went over this already a few months ago. The consensus back then was that something was wrong with how you installed VS. After you reinstalled it, it seemed that the problems were over, or at least you didn't mention them any more.
 
Last edited:
  • Like
Likes bhobba, sysprog and Vanadium 50
  • #46
yungman said:
When we bought our 2018 car, the salesman actually warn us that you have to have patience with the control and display. That it takes time for the screen to display, then it takes time to run the joystick to go to the right place. the most sickening thing is if you want to switch from D to R or back, it takes 3 seconds to switch instead instantaneously like my 6 years old of the same brand.
Is this a Mercedes? I remember you saying something about buying that brand. If I had a car that took 3 seconds to shift, I would take it back to the dealer. I'm sure CA has a Lemon Law.
yungman said:
Just bought an 82" Samsung tv, the remote is something else to get to the menu you want, each step takes like 3 to 5 seconds and so many steps to get to what you want to adjust.
Get another remote and see if that makes a difference. If my TV is anything like yours, I almost never use the remote that came with the TV -- I use the remote for my cable service or I use the one for Roku, and they both work like they should.
yungman said:
Then the printers. I am returning my 7th or 8th all-in-printers in the last 3 to 4 years.
Maybe you and/or your wife are especially hard on printers.
yungman said:
Then my 2 years old cloth washer, one time, it just started blinking, start and stop and play funny music.
Ditto on the washing machine.
I would recommend you get a subscription to Consumer Reports, a magazine that does reviews on all kinds of appliances and cars and stuff. It could be that all the things you're complaining about are problems that other people have already found.

As for myself, I don't want cars, refrigerators, TVs, etc. with all the latest technology "doodads." I don't want a car with an "infotainment" system or that I can post stuff on Facebook. The last car I bought, about three months ago, is 18 years old, but the owner's manual tells me its top speed is 177 mph, and I shift the transmission myself.
 
  • #47
yungman said:
I don't need a nanny to keep asking me whether I am sure that's what I want. If I hit the button by mistake, I'll pay the price and I learn.
I'm not so unhappy with the warnings ##-## we don't have them as much on the mainframe, but I have the habit that before I hit the final button on a major cutover, I check myself multiple times ##-##

If what I do is a screwup, it could hurt maybe 30,000 people immediately, and maybe hurt millions not much later ##-##

I do a thinking-walking lap around the computer room ##-## run my regular routine of looking over (and not touching) the hardware ##-## think about things ##-## did anyone tick off the electrician's union recently ##-## did I do a typo somewhere? go back to my desk and check again ##-##

When I'm ready, I look the Operator in the eye, and make sure that he doesn't look worried ##-## then I do another lap ##-## then check the look in the Operator's eyes again ##-## then hit Enter ##-##

I'm responsible for doing or not doing anything that I do or don't do, but hitting Enter is sometimes a big deal, and I'm not especially annoyed by an 'are you sure' check if I'm about to do something that might be irreversible.
 
  • #48
Mark44 said:
Is this a Mercedes? I remember you saying something about buying that brand. If I had a car that took 3 seconds to shift, I would take it back to the dealer. I'm sure CA has a Lemon Law.
Get another remote and see if that makes a difference. If my TV is anything like yours, I almost never use the remote that came with the TV -- I use the remote for my cable service or I use the one for Roku, and they both work like they should.
Maybe you and/or your wife are especially hard on printers.
Ditto on the washing machine.
I would recommend you get a subscription to Consumer Reports, a magazine that does reviews on all kinds of appliances and cars and stuff. It could be that all the things you're complaining about are problems that other people have already found.

As for myself, I don't want cars, refrigerators, TVs, etc. with all the latest technology "doodads." I don't want a car with an "infotainment" system or that I can post stuff on Facebook. The last car I bought, about three months ago, is 18 years old, but the owner's manual tells me its top speed is 177 mph, and I shift the transmission myself.
Yes, it's a Mercedes, I always look at consumer reports for cars. That was a new model, no data. Our older 2003 E was perfect, just old. The 2014 ML is perfect, never have an issue to date, just regular maintenance. Those are their middle model lineup, usually their bread and butter and they usually make them more reliable. Nope, the last one was a bomb and later CR came out to confirm that. All electronic problems. You look at new cars, most of the problems are electronics. I thought I was wise to even ordered one that has the most basic option and no self steering.( that's to me the most important). The kicker is the 6 years old ML has almost everything the new car has, just much faster in everything and no bugs.

Yes, I don't want any latest technologies, the washer was not supposed to have that until a few weeks ago, all of a sudden, things start blinking and making strange noise. I did not know that stupid thing has a computer!

Funny, I have good luck with HP laptops, been buying HP for years. Yes, most of the problem is from my big boss...BUT you know how it works, the boss has a problem, it quickly becomes YOUR problem. She does crafts, printing on different sizes cards and all. I can live with the Canon printer, but I can't live with everyday a printer might come flying out the window. But I have to say, it's really not her problem. Those printers are just not consistent. She is very methodical, she actually write down instructions how to do things in printing. But the stupid printer keep changing whenever there's an update.

As for the tv, I think the remote is ok, it's when I enter something, a lot of times I can see the tv screen has a "thinking" sign like a thing going around in little circle telling you it's trying to load something. It's the tv. Then the new "smart" tv is like the computer with a mouse, you have to navigate pages to get to what you want. I swear, my 3 years old 65" is a smart tv, it's nothing like that. Same Samsung. Samsung has the best color, our 55" Toshiba seems to be a lot better in the control, but that's 4 to 5 years old, so the new ones might be different. But the color is nothing like Samsung.

BTW, Samsung is NOT reliable, we had an older one that barely lasted 4 years. The 65" is starting to do so funny things, might be at the end of the road. But just the color is so good.

With the smart tv, they should have a mouse and keyboard option, it will be so much easier to live with if I can just hook up even a mouse.
 
  • #49
yungman said:
Yes, most of the problem is from my big boss...
Well, you can't blame the technology if someone is misusing the appliance. Personally, I don't want "smart" anything. I'm smart enough that I can figure out how to operate the thing.
 
  • #50
Mark44 said:
Well, you can't blame the technology if someone is misusing the appliance. Personally, I don't want "smart" anything. I'm smart enough that I can figure out how to operate the thing.
She just use the printer harder than me, but the printers supposed to be able to handle all those, they just can't. She is not doing anything the printers do not claim they can do. Like printing 4X6 cards, envelopes, pictures etc. It's not as if she is pushing those printers. I only print 8X11 bond paper, it still occasionally fails.

Now a day, you really don't have much of a choice but to buy those smart ones. Believe me, we regret dumping away the 20 years old HP all in one. It just worked and worked until it broke down. We should have fixed it. Who knows the new ones are so much worst. If you have older printers and stuffs, KEEP THEM.
 
  • #51
yungman said:
I can't live with everyday a printer might come flying out the window
hmm
 
  • #52
Just want to show I am not making up that I actually have all those printers. Here are two pictures showing the Brother is packed up ready to go to UPS and the box for Epson. Also the picture of big boss's office with the Canon and Epson.
Both printers.jpg


Office.jpg


we have been doing musical printers the last few years. I am just using the Canon until I finish the spare ink I have and it'll go to recycle. It's only a little over 6 months old and is the second one replaced by Canon. So I don't have any warranty. the first one broke in less than a year, that's why Canon sent me this one.

I want to stress, there's absolutely nothing that my big boss is doing that is out of bound of the printers. She print greeting cards and 4X6 and 5X7 cards, envelopes, all within what the printers ability to do. Of cause with different sizes, you need to adjust the offset and position to print. She did those and put it in the notes how to do it, and even save examples that the printer print out successfully. But then the printers CHANGE, the setup from a few days ago no longer work. Then the printer can print correctly, then all of a sudden it screw up. You'll be throwing the printer out the window if you are in the middle of doing things and it change on you. I verified those, it's NOT what she did, it's the printers. Every single one of them with Canon being the worst.

I spoke too soon that the Epson is the best. I just print the program directly from VS source code, it printed one line and stopped. I printed it the second time, it came out. How do you like this. Just like printing from word doc. How can you fail doing simple thing like this? And this is the best one of the 7 already. It is things like this that can drive people up the wall. But as long as the big boss is not threaten to throw it out the window after a month and half, it's a keeper in my book! It is NOT her fault.

We gone through 4 Canons, the first one was MX922, it was replaced under warranty by Amazon after it broke down, then the one in the picture. 4 bad printers in a roll in the span of 3 years or so. Actually they are losing money, I literally got 2 for the price of one on both of them. But what good does that do for me other than raising our blood pressure.

You see in the picture of the office, there's a small PictureMaid, big boss loves it. It's about 4 or 5 years old, simple, always print, never give any problem. I will try to fix it if it ever break down...Knock on wood.

EDIT:

I totally forgot the HP printer, it's out in the garage waiting to go to the recycle!
HP printer.jpg


This one is the most expensive as it's for 11X17. I was planning to print a lot of schematics. It's still available on Amazon!https://www.amazon.com/dp/B01F57CVIQ/?tag=pfamazon01-20
 
Last edited:
  • #53
Please, no more rants about defective printers, cars, washing machines, etc. This thread is supposed to be about what programming language to recommend for a teenager. Further off-topic posts will be deleted.
 
  • Like
Likes Vanadium 50
  • #54
I think that Object-Oriented Pascal is a good bridging language that introduces object concepts while retaining declarative-imperative-structural concepts. Prof. Wirth went from Pascal language to Modula-2, and from there to Oberon, which was designed to be extensible.

I still think that for a kid right now, Python (a free anaconda 'individual' edition is available here) is a very good learning option and a very useful language, and that Prof. Wirth's languages are worthy of exploration.

If the kid is up for it, and wants to code closer to the hardware, maybe he or she should look into assembly language, e.g. start at winasm.org or download MASM, or read @Mark44's AVX-512 Insights articles right here at PF: AVX-512
 
  • #55
Thread locked after repeated off-topic posts by OP.
 
  • Like
Likes bhobba and Vanadium 50
Back
Top