Q
Q
Quadrocube2011-10-24 21:28:16
Startups
Quadrocube, 2011-10-24 21:28:16

Programming. Jet start - help for a beginner

Good day, Habr!

A small introduction to the current state of affairs:
Until today, only the Olympiad aspect connected me with programming. This means that the stock of what I can implement at this moment on the pluses is limited to just a project from a single executable file that uses only STL, and the only method of interaction of this wonderful program with its environment is reading from a file and record there.

But finally, we plucked up courage and decided to move from the camp of poor programmers who were not quite full-fledged to fathers- Programmers.
There is even an idea for the first project and a team of like-minded people, but the trouble is, they have no more experience than mine.

I think that many people have something to advise beginners - what to use (libraries, what to write on, etc.), how to teach the application to work with the database, how to organize the database yourself, various maps of the location of common rakes, a book to start with - in general, everything that really worth knowing for a programmer in the first year of his Existence.

The languages ​​we're targeting are C++, Objective-C, maybe Python - but as stated in the comments below, if there are much better alternatives for this, feel free to suggest, new things are always welcome.

Ps If a little more about the project (in order to know in which direction to send) - a certain app, consisting of three parts: server, client and database. Yes, this is probably too much for "Hello, world , we will conquer you! ”, but this is the best way to represent what we plan to do in the future, and, collecting knowledge bit by bit, successfully do it. The client part must be able to send requests to the server on the web and receive responses from there. The server, respectively, is to process these requests and respond to them using the database data. Extremely interested in advice on the implementation of each of the components.
Pps I think we are not the only ones who will be grateful to you, so in advance: THANK YOU!

Answer the question

In order to leave comments, you need to log in

5 answer(s)
A
avesus, 2011-10-25
@avesus

There are a lot of tips, but no one has offered an integrated approach ...
Guys, everything completely depends on the task. And, if you do not want to be scattered, first of all, conduct a conceptual analysis of critical places in architecture.
Answer the following questions for yourself:
- How "fast" should the client application be?
- What load is planned for the server?
- What data and ways to display it will be in the client application? How will the user interact with it?
- What are the requirements for the data transmission channel between the client and the server (delays, real-time requirements)?
- What are the deadlines?
— How long do you plan to support the project (a bet on quality or speed of development)?
- Do you plan to sell the source code or support the project yourself?
The choice of tools depends heavily on the answers to these questions.
A good friend of mine recommends using the tools I own. Don't forget, the silver bullet has not yet been invented, and for the same logic in any language, one way or another, you will have to write approximately the same number of lines of code.

S
SharkyFLY, 2011-10-24
@SharkyFLY

for a turbo start, look towards c#
or as a more perverted version of perl + win32 gui, followed by assembly and compilation to exe via perlapp (this method will probably be the fastest for you, since pearl is very easy to learn)

T
TERMIK, 2011-10-24
@TERMIK

What languages ​​are you familiar with? (including markup)

S
sainnr, 2011-10-25
@sainnr

Based on what I've read, I would recommend you look towards the .NET platform, and here's why.
1) The ability to implement what you plan in any way: as a web application (ASP.NET, ADO.NET), as a desktop client (WPF + WCF), as a Silverlight application (like Flash, you can run and in the browser, you can save locally on the desktop).
2) For all these variations, you will need to know, for the most part, only C#, the syntax of which will be very familiar and easy to learn. For everything else (mainly HTML or XAML markup), there is a visual editor in Visual Studio.
3) Various components of the .NET framework will simplify and speed up development: it is easier to work with the database, it is easier to organize web services (if we are talking about a desktop client), it is easier to handle events, etc.
4) There are tons of documentation written on all this, both in English and in Russian. These are books, and MSDN, and a bunch of forums on each of the technologies, podcasts, videocasts, thousands of them.
5) During the development process, you can also learn / consolidate / learn how to apply basic programming patterns that will be very useful to you in the future.
6) If you lack the capabilities of the .NET framework, then there are developments that expand its capabilities (the same NHibernate).
7) You will be disappointed in .NET - it will be easier then to switch to the Java platform, they have a lot in common.
If you learn how to take full advantage of the power of .NET, then it will definitely be a jet start.
Fly in the ointment: it's all focused on the win-platform. Although, many things will work on other platforms.

T
TERMIK, 2011-10-24
@TERMIK

Are you going to work with the network or with the web?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question