S
S
simplecode2012-06-22 23:52:16
Programming
simplecode, 2012-06-22 23:52:16

What programming languages ​​to teach?

Hello!

There is a college, which this year is recruiting for the following specialties:
- programming in computer systems (PCS);
— Applied Informatics in Economics (PI).

For each specialty there is a discipline "Fundamentals of Programming", within which it is supposed to study a programming language (or family of languages), which will be a working tool in the study of other disciplines.

Question:
1) What/what languages ​​+ IDE should I choose for the PCS specialty?
2) What/what languages ​​+ IDE to choose for the specialty PI?

Thank you!

Answer the question

In order to leave comments, you need to log in

33 answer(s)
M
maeln0r, 2012-06-23
@maeln0r

If I were studying, I would like to master ruby ​​or python.
jetbrains IDE (optional).

K
Konstantin, 2012-06-23
@Norraxx

Definitely Python.
Java / C#

1
1nd1go, 2012-06-23
@1nd1go

I think that either C, because the classics plus algorithms are all there, only with pointers, of course, an ambush ..., or Python, because it is also a classic, but fresh and with an eye on parallel computing, which is actually the future.
www.khanacademy.org/science/computer-science - just in case.

S
s0rr0w, 2012-06-23
@s0rr0w

— programming in computer systems (PCS);
Only low-level ones that give an idea about the internal structure of the PC, its functioning, data types, etc. C, Pascal, even BASIC, there is no difference
- applied computer science in economics (PI).
VBA, because an economist without Excel is a disabled economist

R
RubtsovAV, 2012-06-23
@RubtsovAV

Better yet, si, because. will help to better understand the mechanisms of the PC architecture itself. Other languages ​​take on too much, hiding the real mechanisms. BUT! If you want to teach applied programming, then Python or Java will still be preferable.

G
Gwynbleidd, 2012-06-23
@Gwynbleidd

C# - a lot of powerful tools, including from the FP, but without the complexity of pluses.

V
Vladimir Chernyshev, 2012-06-23
@VolCh

Any multi-paradigm language that can show procedural, modular, functional, and OOP paradigms. After all, the course is called "fundamentals of programming", and not "the basics of imperative and / or OOP programming" as many people imply. Personal sympathy towards Python. IDE is not essential until the absence. This is with regard to the PKS (230115?)
With the second it’s more difficult, I didn’t find the standard for the economy (it’s interesting that I alone guessed to look at them before answering? :)), but if you don’t get tied to the vendor (1C, MS), then there are alternatives except Python doesn't come to mind either.

Y
Yuri Popov, 2012-06-23
@DjPhoeniX

1. Delphi, C++ (visual studio / qt)
2. VBA, 1C (?)

M
max7 M7, 2012-06-23
@max7

Postscript is an interesting thing, no joke at all ;-)
You can mention javascript.
Scala, Common Lisp, C++ - for general development.
Specialized languages ​​like R are for statistical data processing.
Prolog, SQL - for understanding.
Haskell, Clojure, D, Erlang, Scheme, Forth, ... - well, I don't know, just for fun.
It seems to me that everything is worth showing, but R is especially interesting, understanding SQL is also very useful.

O
OnYourLips, 2012-06-23
@OnYourLips

The language should be at the same time simple, up-to-date and free of crutches/architecture errors.
According to the tiobe rating, Java, Python, Ruby, Delphi / Pascal, JavaScript, Lisp, Lua are suitable (I took the popular ones from there).
PS I considered work with pointers as a lack of simplicity.
Although I would not call a couple of things from this list relevant (academic interest) and would not give JS (because FP).

S
Sergey Ozeransky, 2012-06-23
@KREGI

java - NetBeans

E
EvilMan, 2012-06-23
@EvilMan

For PCS it is better to start with pascal or si.
For PI - java.

D
dtestyk, 2012-06-23
@dtestyk

programming in computer systems is associated with Python,
applied computer science in economics is associated with Excel and writing a bot for any trading platform, and the language is not important.

S
Shedal, 2012-06-23
@Shedal

In general, I feel a little sad for people who start learning programming from languages ​​where memory management is hidden. Indeed, in the future, if programming is taken seriously, it will still need to understand what is stored in memory where and how. And if you get used to the good, it will be more difficult to learn it.
Therefore, my choice, after all, is C/C++.

S
Sild, 2012-06-23
@Sild

A little bit of all 3:
Java as OOP
Lisp as a functional
Shell as a scripting language
I think this will give an idea of ​​programming languages ​​in general, why they are needed and fundamental differences

K
kuzemchik, 2012-06-23
@kuzemchik

I would not want the basics of programming to move down to learning only the language. In any case, here are the languages ​​\u200b\u200bthat, in my opinion, it makes sense to learn:
java / c# (depending on religion) as AOLPL (you can add scala right there)
lisp / prolog / haskel as functional / logical (erlang is also possible, but it similar to prolog)
python/php/ruby/js as dynamic
C++/C/assembler/ as low-level and applied (C++, although OOP, is currently used more for performance than for development in OOPL, and more often works in conjunction with C)
Paskal / Delphi I don’t see the point, since for most tasks it will be enough to read a couple of articles about differences in languages.
Learning a language and an IDE are two different things and you need to learn them separately.
But in general, Visual Studio, Idea (jetbrains has many stripped-down IDEs with the same interface, so idea is ideal for learning)
Well, I would suggest giving the basics of vim, even in the form of a game vim-adventures.com/

Y
Yizakhi, 2012-06-23
@Yizakhi

Start with Scheme from the How to Design Programs (HtDP) tutorial, free - no need to beat out money for materials. Take the IDE from PLT-Scheme (renamed to Racket a year ago), there are built-in modules for the HtDP course. Racket also has extensive libraries, which, on the one hand, gives a perspective for development, and on the other hand, you can show all sorts of things at the beginning of the course to raise interest. Have you seen the videos on YouTube - a blog on Ruby on Rails in 15 minutes? On Racket, this is also possible.
And then for PKS - "C". For PI, it is better not Python, but Java - the entire financial enterprise in Java.
After such two years, do not read languages, but only special courses - algorithms, operating systems, compilers, neural networks, etc. In OSes, not only show Unix shells, but also PowerShell.

G
garrich, 2012-06-25
@garrich

Teach algorithms and data structures, not languages.

S
spiff, 2012-06-23
@spiff

For UI, JavaScript can be taught. The famous courses from Stanford on classical CS are taught in JS (with prepared libraries). I went by myself - it's cool. It turns out something like DSL and you can conduct classes in an interactive way - a task and a solution on one HTML page. See coursera for more details, CS course.

D
Dmitry, 2012-06-23
@deemytch

They need 1C in real life, and everything else is fiction. But, of course, for the basics, without Sishnik, nowhere.

R
Renat Ibragimov, 2012-06-23
@MpaK999

1) C/C++/C# - Visual Studio
2) Java/VBA - Eclipse/MS VBA

S
simplecode, 2012-06-23
@simplecode

Thanks everyone for the replies.
Before posting the question, my vision was as follows:
1) PCS: C/C++ (hereinafter Java);
2) PI: Python.
Of course, within the framework of other disciplines, it is planned to study:
- SQL (databases);
- Bash (operating systems);
— Assembler (architecture / system programming);
- HTML / CSS / JavaScript / Ajax / Python / Django (web programming);
- VBA, 1C, Maple, etc.
The question is, what language is used to study the basics of programming (so as not to frighten students and visually give a general idea)
So far, my opinion has not changed.
Thanks for the R language.

S
simplecode, 2012-06-23
@simplecode

Yes, I forgot to say, the OS used is GNU / Linux.

N
Nikolai Turnaviotov, 2012-06-23
@foxmuldercp

I would also remember about .Net ... c #, python and mysql were given to me faster than C with pluses.
and I would start with after general concepts about algorithms and then with bash ... I have one of the articles just about processing video surveillance archive with bash scripts - there are pipelines, and functions and cycles. Python is also quite simple, it seemed to me analogous to BASIC in terms of complexity.

6
65520, 2012-06-23
@65520

PKS - Python
PI - VBA

E
Elsedar, 2012-06-23
@Elsedar

Learn the right languages ​​right away. I recommend python3 - both simple and effective. It is possible and then to make a continuation for the advanced in Haskell.

I
Ivan Pavlenko, 2012-06-24
@MrGobus

c/c++, java (to all)
ide - eclipse in both cases, they won't write anything special

I
Ivan Kupalov, 2012-06-26
@charlag_khan

I would be afraid to raise such a topic - it can result in a sickly holivar. Therefore, do not downvote languages ​​that you do not like - prove that your option is more suitable here. Minus is not an argument.

A
AlexanderS, 2012-06-26
@AlexanderS

I read what they recommend ...
I studied logic algebra and QBasic at school. And at the Pascal Institute. And everything else that I now know is on my own)))
First of all, you need to teach you how to think algorithmically. As practice shows, this is actually not easy ...

J
Jammarra, 2012-08-30
@Jammarra

Python + vi
Python teaches well to stick to beautiful code, vi is always a universal thing to come in handy.

K
Kirill Lavrentiev, 2012-10-06
@kirillius_khv

In my opinion, it is necessary to teach programming itself (that is, the ability to think algorithmically, draw up flowcharts) and then students themselves will be able to learn any language. Well, you need to start on the topic after studying the philosophy of programming with C or Pascal. At least that's how I train my students.

V
Vroeger, 2020-02-07
@Vroeger

I advise all teachers and students to first find and
read in the file "x86-64 Assembly Language Programming".
At least one chapter - 6.0 DDD Debugger.
You will immediately understand what to do next.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question