📜 ⬆️ ⬇️

Russian Code Cup 2013: tune in to hardworking!



On September 23 of this year, the best programmers in the country will fight each other in the final round of the Russian Championship on Sports Programming, Russian Code Cup 2013 (RCC) . This will be the third final organized by the Mail.Ru Group Olympiad , designed not only to support the prestige of Russian programmers in the world, but also to popularize programming as such.

On the eve of the third final, we decided to interview the speakers of the RCC 2013 - Dmitry Sklyarov, Edward Yordon and Ken Goldberg. But first, let us recall the founders of programming languages, thanks to which today's software is exactly as we know it.
')


Ken Thompson and Dennis Ritchie, C language developers and Unix OS


Dennis Ritchie


Ken Thompson


Brian kernigan

Kernighan co-authored Richie on the cult book "Programming Language C".

Tim Berners-Lee, one of the HTML developers



This man in 1989 sent his supervisor a proposal to create a system for managing information. He called it the World Wide Web. For their system, Berners-Lee with several assistants created the first version of the HTML hypertext markup language and developed the HTTP protocol. Berners-Lee is the author of the creation of the world's first website, web server and hypertext web browser. Later, Berners-Lee founded and led the organization that is responsible for developing all the standards for building a worldwide network - the World Wide Web Consortium, W3C. In fact, thanks to this person, the faceless text network has evolved from a tool for tehnogikov to the Internet “with a human face”.

Rasmus Lerdorf, PHP language developer



The increasing complexity and tremendous growth of the amount of information posted on the Internet has led to the need to develop dynamic generated pages. This is made possible by the PHP language, which today is one of the most popular web programming languages. PHP was developed by Dane Rasmus Lerdorf in 1995. It all started with a script that was designed to handle HTML-pages. Being an ardent supporter of the open source idea, Lerdorf actively listened to user feedback from the very beginning, constantly improving his script, expanding and improving its capabilities, which resulted in the creation of a separate programming language.

James Gosling, Java Language Developer



Named after a coffee of the same name, an object-oriented Java language was originally developed by Gosling, who worked at that time at SUN, for use in home appliances. But then it began to be used to create client applications. The peculiarity of the language is that applications written on it can be executed on any computer platform on which the interpreter program is installed. This language is now used to write programs for the Android OS. Java-based technologies are used in the creation of millions of websites, of which eBay, Amazon and Yahoo are the most famous. Gosling worked for SUN for 26 years, after which, having worked for Google for a short time, he began developing software for underwater robots.

Thomas Kurtz and John Kemeny, Basic Language Developers


These two were talented mathematicians. While still a student, John Kemeny contributed to the creation of atomic weapons in the USA by working in the Manhattan Project. There he worked with such little-known personalities as von Neumann and Einstein. In the late 50s, Kemeny and Kurtz got a job at the faculty of mathematics at Dartmouth College. For their mathematical needs they needed to use a computer. However, due to the primitiveness and extreme inefficiency of the then computing systems, it took a lot of time to write programs, search for errors and get results. As teachers, Kemeny and Kurtz hatched the idea of ​​learning to program all students. But in those times it was akin to the slogan “Every housewife is at the helm of Boeing!”: Programming training was difficult and time consuming, few could do. For mass education, existing tools and programming languages ​​were completely unsuitable. And, after a few years of working on their project, in 1964 Kemeny and Kurtz created the first version of the Basic language. For those times, many of the ideas and peculiarities in it became innovative.
Later, in the 70s-80s, Basi gained the widest popularity; many of its varieties were created, which were used as the main or only language in various computer systems. Today this language has evolved in Microsoft Visual Basic, which is already very far from its ancestor in structure.

Edward Yourdon, Ken Goldberg and Dmitry Sklyarov - on motivation, concentration and self-development



On September 23, the final contest of the Russian Code Cup sports programming contest will be held in Moscow. To finish this post, we would like a mini-interview with speakers at the RCC IT gurus, which they specifically gave to Habr. We will introduce our guests:



• Edward Yordon , a pioneer in the development of programming methodology and author of the method of Yordon, a member of the Computer Hall of Fame and author of best-selling books on programming practice, including the iconic “Kamikaze Way”
• Ken Goldberg , inventor of the world's first web-based robot, professor at the University of California, Berkeley Informatics School
• Dmitry Sklyarov , developer of the Advanced eBook Processor program algorithm

Question: How do you think programming languages ​​will evolve?


Sklyarov: About a year ago I read the book “Pioneers of Programming”. How many people - so many opinions. And each has its own reasons to endow the language with certain features. New geniuses (or vice versa - madmen?) Will invent new languages. Most of them will sink into oblivion, but some will find their connoisseurs. And this process is unpredictable. But it seems that nobody has been able to purposefully make the “best” language ...

Jordon: I don’t think I’m going to surprise anyone with the opinion that programming languages ​​will continue to "specialize" in various technologies. And if some of the currently popular languages ​​(for example, C ++, Java) are not likely to be replaced by others, in the future we will see much more powerful visual development environments that will be of great help to programmers in developing, creating and testing programs. .
There is one more important point to remember: new languages ​​are the development of existing languages, the old languages ​​will be transformed and will acquire a new life. For example, last year, COBOL was the most popular language for developing business applications.

Goldberg: Programming languages ​​like Python, Scala, and Spark are mainly used to interact with the clouds / Internet, including SaaS (Software as a Service) and cloud cluster computing on demand (for example, Amazon's Elastic Cloud). Also, these languages ​​are often used in new-generation applications, which dynamically distribute calculations between local and network devices depending on time and bandwidth. For robotics, the trend is open-source, like the Robot Operating System (ROS).

Question: What personalities inspire you to feats?


Sklyarov: Do you really need inspiration for feats? It is much more convenient, as in "the very Munchhausen", according to the schedule: "from eight to ten - EXPLOIT".

Jordon: Technical excellence, a deep understanding of programming languages ​​and application development, hardware and network / mobile technologies is key and will continue to be so in the future. But as Bill Gates and Steve Jobs showed us by their examples, all this should be combined with passion, ambition, “vision” of the future product and excellent business qualities. Only then can success be achieved.
And if it is not combined in one person, then it is also extremely important to be "in the right place at the right time." Unfortunately, the road to success is paved with the failures of those who had great ideas, but they offered them to the market too soon or after the mediocre technology had already taken strong positions and buyers simply did not want to buy or did not understand the benefits of the new offer.

Goldberg: The person who always inspired me is Andrei Andreevich Markov (1856-1922), a mathematician who laid the foundations of Markov chains and Markov processes, on which many algorithms in modern scientific computing, robotics and machine learning are based.

Question: What do you think is more effective for developing a programmer's skills in yourself - personal self-improvement or teamwork?


Sklyarov: It is unlikely that teamwork can from a “simple programmer” magically make a “very good programmer”. The programmer must learn and practice, and only then will he grow.
But a good team is an excellent catalyst for professional growth. The team is easier to develop.

Jordon: In my experience, teamwork is more effective for improving programming skills. This requires third-party inspections, pair programming, and mentors who will read and comment on each line of code written by young programmers. And young programmers should study the code written by experienced colleagues line by line.

Goldberg: Both ways are necessary, but sometimes they can be incompatible: a person who is extremely self-motivated can easily become intolerant of other team members, less involved or productive. The best way is to cultivate in yourself and maintain self-motivation on a par with acquiring the skill to lead and motivate other people (and also be tolerant when they disappoint you). I also recommend developing your communication skills, learning how to write documentation efficiently and communicate to a wide audience what you are working on. For example, via the web: goldberg.berkeley.edu .

Question: What life hacking chips and abilities help you focus your attention on the task at hand?


Sklyarov: The task should be interesting. If not, you need to take another task.

Jordon: This is purely individual, but I have always believed that a good night’s sleep and a full stomach are necessary to concentrate on current mental tasks. It’s not so easy to concentrate if you haven’t slept for 26 hours in a row and have not eaten the last 12 hours.

Goldberg: Coffee. Almost every morning at 6 o'clock I drink two cups of very strong coffee. It gives me productivity for two hours before my wife and daughters wake up ... I also recommend always giving one day a week to rest from work and the monitor.

Q: Did you participate in the "games programmers"?


Sklyarov: About 25 years ago, I was delighted with the description of the rules of Core War (Boy_v_pamyati), but I never had a chance to play. Played in Colobot. I am pleased to participate in the CTF.

Jordon: I did not participate in such games as a “contestant”, but I was the coordinator for several of them in the USA and Australia.

Goldberg: No, and I would not be a worthy opponent!

Question: What are the most exotic programming languages ​​you have to write?


Sklyarov: A couple of times in the framework of CTF, I dealt with variations of BrainFuck, although this is almost not exotic. Recently I had to write a couple dozen lines on VBA (Visual Basic for Applications). Truly exotic language!

Jordon: I don’t recall having programmed in non-traditional languages ​​in real projects. I am sure that such languages ​​are important and useful, but in my career there was programming only in “traditional” languages.

Goldberg: I studied programming in Assembler, Fortran, C and APL. In graduate school, I wrote my dissertation (geometric and stochastic algorithms in robotics) in Lisp. Also made several projects at Forth. Today, my daughter is learning to program in the visual language Scratch from MIT.
By the way, I recommend reading the Fabio Cevasco article "10 programming languages ​​that you should take a closer look at."

PS By the way, one of the most exciting speeches at the Russian Code Cup 2013 will be the show of digital-illusionists Simon Piero and Marco Tempest . Sign up!

Marco Tempest at TED:


UPD Thank you Aidjek for the error found!

Source: https://habr.com/ru/post/194214/


All Articles