##programming on irc.libera.chat
##programming is a channel on the Libera.Chat IRC network. It has
been established to facilitate discussion about programming and
computer science-related topics.
Connecting
Channel Rules
- Be respectful and friendly.
- Promote constructive discourse.
- Put pastes in a pastebin.
For example:
- Spam is prohibited.
- Discrimination, slurs, and derogatory comments
based on
race, nationality, sex, gender or gender identity, sexual orientation,
disability, or religion
are prohibited.
- Sexual harassment is prohibited.
- Moderators will use their best judgment and best intentions in
individual circumstances,
following the core goal of keeping an inclusive and friendly
community for discussion.
In exchange please respect the decisions of moderators.
Moderator decisions can be appealed in
##programming-ops
,
where leniency can be granted or review by other moderators can
occur.
Only respectful requests for appeal will be given full
consideration.
Please also see the libera.chat
guidelines and
policies.
Frequently Asked Questions
- How do I become a
programmer or software engineer? —
There are many ways to learn to program, including
formal courses,
highly structured textbook-style books,
tutorial sequences,
video guides,
and so on.
Which type you should use depends a bit on
your choice of initial language,
your preferred style,
and your long term goals for what you will be learning.
If your goal is simply to start out exploring programming,
then you should select a starting language useful for the area of
programming you want to explore,
and look or ask for sources to start with that language.
If your long term goal is to become a professional software
engineer,
then you should seriously consider seeking a structured formal
education in the area, as this will set you up for a strong career
by covering a lot of information that is hard to get one piece at
a time.
- What
language should I start with? —
This answer will not dictate a language,
but advise you on how to think about the question.
Good initial languages typically sample from the popularly used
languages,
as these will have a lot of supporting resources and communities
available.
Which one you choose can depend a bit on your goals.
If you are entering programming as a hobby, then you should
choose an initial language that is useful in your area of
interest.
You can search for languages used for a particular purpose, or ask
on the channel for opinions about what sorts of languages are good
for a particular purpose.
If you are entering programming heading toward a long term career,
perhaps as a software engineer,
then it really doesn't matter too much what your first language
is.
You can go ahead and choose an easy, popular, and/or useful
language for your first one,
and then expand your skills with a second language, and then a
third, and so on.
Each following language of a paradigm (a type of language) tends
to be significantly easier to learn than one's first one,
such that after picking up a few,
it becomes fairly easy to learn many languages.
- How do I
become highly skilled at programming? —
Program... a lot.
Study it formally, do it for work, do it in your spare time.
Great programmers tend to be people who really enjoy it,
and therefore do it a lot for very many years.
To make your way to this point from a beginning stage,
start working on progressively larger projects.
Make up project goals for yourself,
and work through the full scale of a project to completion.
Then go again with another slightly larger project on a different
topic, using different methods, or using a different language,
and on again in an expanding loop.
It's important to have fun, to be inquisitive, and to engage in
projects about which you are passionate, as this will keep your
engagement with programming strong.
While you're doing all of this, don't be afraid to ask
questions!