public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Benjamin Priour <priour.be@gmail.com>
To: Vatsalya Dubey <vatsalya1604@gmail.com>
Cc: gcc@gcc.gnu.org
Subject: Re: Inquiry about Getting Started with GCC Projects as a Beginner
Date: Fri, 30 Jun 2023 12:25:00 +0200	[thread overview]
Message-ID: <CAKiQ0GEYKmjJT4Y__DUH1SX1Zn+Bf_RzWHtrCrVmYGjoHAecww@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2326 bytes --]

Hi,

I am a current GSoC student on GCC, so I'll let some of your questions to
more veteran contributors. However, feel free to also reach out to me if
you got any questions as to where to start, as I consider myself just out
of this phase.

Programming Languages: Which programming languages are commonly used in
   GCC projects? Are there any specific languages that you recommend
beginners
   to focus on initially?

GCC is written in a customized mix of C++ and C. Some C++ standard
constructs have been handmade, such as vectors. However, if you are
familiar with C++, I believe you'll adapt quickly to those. If you consider
contributing to some language front-end, or to some specific back-end, then
knowledge on that front will always be useful. However, from my short
experience, I can already tell you that GCC is in itself a great teacher,
as long as you have the basics, or put the extra effort to get them, you'll
step up your game quickly.

Tools: What are the essential tools utilized in GCC projects? It would
   be helpful to know which tools are commonly used for tasks such as
version
   control, project management, documentation, and testing.

Git is the one tool you have to get used for GCC, as for testing it is a
bit old-fashioned with a TCL based testsuite (see Dejagnu). I'd encourage
you to try install GCC from the sources, and poke around them in your
favorite editor. It might be a bit rough at first, but that's also how
you'll progress quickly.
Obviously, if you consider contributing to the development of GCC, you will
need to be debug some things. I think GDB is the most used debugger here.

 Learning Resources: Could you please recommend any online resources,
   tutorials, or documentation that can assist beginners in understanding
GCC
   projects and the associated technologies?

I would recommend https://gcc.gnu.org/contribute.html obviously, but also
https://gcc-newbies-guide.readthedocs.io/en/latest/index.html, that will
soon get extra content. If you decide to take a look at the sources, see
the documentation https://gcc.gnu.org/onlinedocs/gccint/index.html.
I am also writing a blog to keep track of my GSoC project, once I have a
proper open source license set up I will send you the link (in a few hours
if I'm not lazy).

Good luck and feel free to reach out,
Benjamin.

             reply	other threads:[~2023-06-30 10:25 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-30 10:25 Benjamin Priour [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-06-30  3:51 Vatsalya Dubey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKiQ0GEYKmjJT4Y__DUH1SX1Zn+Bf_RzWHtrCrVmYGjoHAecww@mail.gmail.com \
    --to=priour.be@gmail.com \
    --cc=gcc@gcc.gnu.org \
    --cc=vatsalya1604@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).