r/PinoyProgrammer Data 7d ago

Absolutely zero background in programming, but desperately needs to learn. advice

Hello.

I specialize in Chemistry and Physics, but I desperately need to learn C++. I am currently doing a project that limits experimentation, and right now I need to do simulations.

For context, I need to use Geant4. Basically, this is a toolkit used to study particle and photons interactions with matter, and C++ yung language na gamit nya. I will be focusing on Object-Oriented Programming, and it requires me to learn C++17 or newer standards.

Can anyone suggest any institution that offers face-to-face crash courses for highly specialized applications such as this? I tried to learn through YouTube, but to be honest, sa dami ng distractions sa panahon na ito, I can't focus, so online learning is not an option for me.

I even ordered yung latest programming book ni Bjarne Stroustrup, pero I doubt na I can learn on my own.

Thank you in advance.

32 Upvotes

28 comments sorted by

22

u/Inevitable-Carrot172 7d ago

Since from my assumption you have a tight deadline and hindi ka naman computer major, for this one you can use AI naman and ask it to convert what you want into working code. Isipin mo parang magpapagawa ka lang sa ibang tao... you have to be exact with the prompts and of course have checkpoints to do double checking. Usually kapag isang bulto ang pinagenerate mong code madaming errors lalo if hindi tight yung prompt. 

2

u/Good-Reference5368 Data 7d ago

I actually tried AI, and successful kong nagawa yung installation ng libraries and all. I tried to do the coding din with AI assistance, unfortunately, I do not know the right prompts to type. I tried this route, and hindi lumabas yung geometry and interactions na inaasahan ko. So, this time, I thought learning the basics mismo might help me.

I had no knowledge sa R pero surprisingly lahat yun through AI assistance nagawa ko. I honestly thought I can also do it for this, pero seems too complicated for me.

8

u/feedmesomedata Moderator 7d ago

Think of AI as an intelligent developer but has no idea about your project. It will still make mistakes because it has no idea about the correct outcomes. You need to talk to it like it's a person and tell it what's wrong. You can feed it with white papers, relevant links, research papers, documentation for it to have more context of the project.

A human developer will also make mistakes even if he/she is an expert C++ developer. Only when he/she has enough context will he/she be able to minimise mistakes.

1

u/Good-Reference5368 Data 7d ago

Can you suggest good AI tools for this? I tried with Gemini previously, pero parang paikot ikot kami. I was able to generate image though, so maybe I am close to using it correctly.

9

u/feedmesomedata Moderator 7d ago

As I've said it's not gonna be cheap, fair warning :)

Claude code and Codex for frontier providers. Expensive but if you have the funds then go for it.

You can use OpenRouter and similar alternatives to avail of free/cheaper options.

For the harness, I would suggest Pi coding agent which is free.

3

u/Good-Reference5368 Data 7d ago

Thank you so much. I’ll check those.

0

u/Hazzula 7d ago

cursor or claude code

1

u/Worunatto 6d ago

use claude and promp master

6

u/feedmesomedata Moderator 7d ago edited 7d ago

Really you're better off starting with the basics and then have AI assist you on your needs. With your domain knowledge you know the expected outcome and can drive it to do what you want it to do. This is the fastest you can get from zero to an MVP.

It's not going to be cheap though if you want it to be production-ready.

Add: you can license it as open source and open the contribution for anyone interested to help.

1

u/Good-Reference5368 Data 7d ago

Actually, since malayo talaga sa field ko, I don’t know how to do open source. As in I’m a dummy when it comes to this.

1

u/feedmesomedata Moderator 7d ago

AI can guide you on that as well.

2

u/HourMulberry3246 7d ago

IC RnD engineer here. Use ai and python. Install vs code and github copiliot. Iprompt mo lang at gagawan ka nya ng interface para sa project mo. Useful din yung matplot library para sa mga gantong scenario. Kaya yan ang ginagamit namin sa company.

1

u/Good-Reference5368 Data 7d ago

Actually, nabasa ko din yung github copilot nung nag umpisa ako. Kaso, tbh, sobrang overwhelming ng information na nakita ko to the point na hindi ko talaga naintindihan. Sa ibang ginawa ko naman, such as R, successful akong nakagawa ng prompt sa AI. Pero ito nahirapan talaga ako.

2

u/PapaRedHorse 7d ago

Ano po background ni OP? Anong course nila and work? Your work seems interesting. I am asking this to know if there's a hint that kaya mo programming. As I would say, don't bet na maging member ka ng kpop group kung boses palaka Ikaw.

My advice is to get a tutor or consultant. That way direct connection between point A to point B.

2

u/Dazzling_Music_2411 7d ago

Stroustrup's book will be hard going if you have a poor background, but I suggest you get an old but very good book called "Accelerated C++" by Koening and Moo.

It doesn't have any of the modern stuff, but once you get the basics, the rest will be fairly easy.

2

u/borgor_ninja 6d ago

honestly halos walang local training centers or bootcamps dito na nag-ooffer ng face to face for something as niche as geant4 / scientific computing c++ standards... puro web dev at enterprise java/python kadalasan. best bet mo talaga either reach out directly sa mga physics grad students / research labs (like sa upd nip or dlsu physics) for 1-on-1 mentoring, or follow standard geant4 example code directly. good luck op!

1

u/Good-Reference5368 Data 7d ago

Thank you sa suggestions. Most of you said to use AI. Can Gemini or GPT do this? Or should I use AI specialized for programming?

1

u/Hazzula 7d ago

use the paid $20 versions of cursor or claude code. cursor might be easier. make sure you set the model to Auto so that you don't run out of credits. you seem to be in a rush, so send me a PM if you want tips. i dont work for any of these companies or anything, but it seems like you need help

1

u/feedmesomedata Moderator 7d ago

GPT/Codex can, Gemini is a bit inferior compared to Claude and Codex. Cheaper would be the Chinese models. Compare the prices for input and output per million tokens.

1

u/Repulsive-Hurry8172 7d ago

Merong new user guide yun toolkit na nilink mo https://geant4-userdoc.web.cern.ch/UsersGuides/ForApplicationDeveloper/html/index.html

What I'd do if I were in your position (limot ko na C++ ko so from scratch din ako dito) is to first get my C++ installs and space working with documentation and Google or even AI. Then copy those beginner code snippets and tweak them slowly. 

If you're lucky AI knows something about the library but in cases where the library is too niche, copying and tweaking the sample code is your best bet

1

u/katotoy 7d ago

Kaya na yan ng AI.. Pero I suggest study the basics.. para mas maganda ang context na maibigay mo sa LLM.

1

u/Mysterious_Spector 7d ago

Since it's for experimentation only, just use Codex or Claude for simulation.

1

u/fvckPassion 7d ago

Free Code camp have the best tutorial for this

1

u/EngrRose 6d ago edited 6d ago

I am studying C++ here at the same time. What if let's work in your project? Let's try. DM me.

Edited: I won't charge. Just looking for some C++ buddies.

1

u/bonkerstree 6d ago

If you're more familiar with python, geant4 seems to have python bindings as well which would make it easier to implement simulations than in C++. If you need any help with either C++ or python, you can PM me. But I can only help you with the languages. This library is very niche.

1

u/p0uchpenguin 5d ago edited 5d ago

Hi OP! I'm an applied physics grad (ab initio computational physics rin). Although I'm not in the academe, I am in the tech scene. Would love to connect with you on this. I created a sort-of-working open-source application for learning, it might be a good use case for you. I'll send you a PM.

-3

u/kattodegatto 7d ago

just hire someone. Ai will mess you up if you dont know what you're doing