Форум

Форум "Осознание" - Концепция Общественной Безопасности (http://forum.kob.su/index.php)
-   Флуд. Юмор. Всё, что "не по теме". (http://forum.kob.su/forumdisplay.php?f=8)
-   -   Вопрос к программистам (http://forum.kob.su/showthread.php?t=4645)

Djohar 17.02.2011 16:55

Кстати, ещё вопрос. Все материалы, с которыми я сталкивался, предполагают наличие даже у новичка каких-то довольно обширных знаний о "компиляторах", "средах", "классах/объектах/отношениях". Существует ли какая-то "азбука" для начинающего программиста, который вот прям вообще не понимает ничего?
Например, зачем нужно выделять память под каждый объект; каким образом эта память выделяется; что интерпретирует язык программирования в машиннный код, и т.д....

Январь 17.02.2011 17:19

Цитата:

вот прям вообще не понимает ничего?
1. У процессоров ЭВМ есть "регистры". Это ячейки которые тем или иным образом хранят данные. Эти регистры есть везде - у процессора, сопроцессора, у оперативной памяти. Так вот - при занесении чего-то в эти регистры предполагается что что-то произойдет.

Основных регистров 4 - это:

ax, bx, cx, dx (32Bit).
eax, ebx, ecx, edx (64Bit).

Не знаю как сейчас - используются ли регистры 8Bit - a, b, c, d...

Это регистры процессора.

На прямую с ними работать могут только языки низких уровней, в частности assembler (в переводе - сборщик) и C++ 5 (и выше, название происходит от языка B (Б), а его в свою очередь от БИСИПЛ (BCPL)).

...

Если ты хочешь быть супер хакером - тебе придется как минимум учить С ++ за ради его мощи.

...

Как ясно из выше написанного - языки высокого уровня в частности не имеют прямого доступа к регистрам процессоров, системному стеку и т.д. - в связи с чем их потенциальные возможности ниже, но при этом программировать на них проще и быстрее.

Языки верхнего уровня в основном использую предоставляемые системой функции.

...

Далее.

Языки в принципе раньше можно было разделить на объектные и процедурные. Сейчас процедурные вполне нормально поддерживают объекты, а объектные - процедуры, так что я бы не сказал, что на данный момент эта градация актуальна.

Процедурный метод программирования - это программирование при использовании предопределенных или заданных функций.

Объектный метод - это метод программирования с использованием объектов, их свойств (переменных хранящих данные) и методов (собственно процедур (функций) объектов)...

...

Пример - если "Кошка" - это объект, то Сирин - это ее свойство, а модерировать - ее метод.

Так вот - объектные языки имеют одну очень важную вещь - в них введены "события" (перехваты управления). Но - все эти языки - интерпритируемы и являются языками верхнего уровня - так что скорость исполнения программ на них ниже чем у языков низкого уровня (самая низкая скорость исполнения у Java - за кросплатформенность приходится платить).

Компилируемые языки - это языки, код программ на которых напрямую переводится в машинный код.

Интерпретируемые языки - это языки, код которых сначала переводится в аналоговый, а потом компилируется для исполнения - при чем каждый раз при запуске программы.

C++, assembler - компилируются.
VB, Delphy, PHP, ActionScript - интерпретируются.

Примечание: VB и Delphy имеют возможность готовую програму загнать в системный инсталлятор - на этом этапе они безвозвратно компилируются.

...

Ну вот в принципе теперь ты все знаешь :) ...

Не, еще чуть чуть про процедурные и объектные языки...

Вот представь - есть у тебя набор свободных действий (идет, упала, села) и есть элемент - кошка.

Чтобы она пошла ты делаешь так:

1. Что делать?
2. Идти.
3. Кому?
4. Кошке.

Это процедурный язык.

А в объектноориентированном языке у тебя есть объект кошка, а уже непосредственно у кошки есть методы (функции/процедуры) и по этому чтобы объект-кошка пошла ты делаешь так:

1. Кто?
2. Кошка.
3. Что делать?
4. Идти.

Кроме того - ты объекту кошке можешь назначить событие, например:

1. Если чо?
2. Если кошка пошла.
3. Тогда сделать что?.
4. Упасть и сдохнуть.

...

Процедурные языки не предоставляют возможности использовать события предопределенные системой (потому что она их не предопределяет), но некоторые заморачиваются и делают эмуляторы сами.

...

О резервации памяти.

В языках верхнего уровня это невозможно.

В языках низкого уровня это можно сделать и делают это для того, чтобы выделить для приложения ОП, на случай если вдруг юзер или сис.процессы запустят тонну сторонних приложений - то эти приложения не смогут забить всю память так, что тебе ничего не останется.

Djohar 17.02.2011 19:25

Весьма познавательно, спасибо. А где этому научиться?
В принципе, подумываю о заочном в какой-нибудь "компьютерной академии", но для начала хочу попробовать самостоятельно. Можешь посоветовать литературу/форумы, где разъясняется именно эта информация, а не только языки программирования, предполагающие определённый багаж знаний у меня?

Если короче - где/как ты этому учился?

РОСтОК 17.02.2011 20:00

Цитата:

Сообщение от Djohar (Сообщение 50731)
Весьма познавательно, спасибо. А где этому научиться?
В принципе, подумываю о заочном в какой-нибудь "компьютерной академии", но для начала хочу попробовать самостоятельно. Можешь посоветовать литературу/форумы, где разъясняется именно эта информация, а не только языки программирования, предполагающие определённый багаж знаний у меня?

Если короче - где/как ты этому учился?

http://www.intuit.ru/
Скрытый текст:

Добро пожаловать в Интернет-Университет Информационных Технологий!

Здесь Вы найдете много бесплатных учебных курсов, которые помогут получить новые знания и повысить профессиональную квалификацию с максимальным комфортом для Вас .

Есть достойные курсы

Январь 17.02.2011 20:33

http://lenta.ru/news/2011/02/17/minerva/

Djohar 17.02.2011 23:05

Цитата:

Сообщение от РОСтОК (Сообщение 50736)
http://www.intuit.ru/
Скрытый текст:

Добро пожаловать в Интернет-Университет Информационных Технологий!

Здесь Вы найдете много бесплатных учебных курсов, которые помогут получить новые знания и повысить профессиональную квалификацию с максимальным комфортом для Вас .

Есть достойные курсы

Вообще шикарно. Записался :)
Спасибо!

mera 18.02.2011 01:52

Я тоже новичок в программировании, но уже начал ковыряться. Выбрал для себя Delphi. Язык прост в освоении и очень функционален. Моя методика изучения такова. Я взял самую простую книгу по Паскалю (прародитель Delphi, во многом похож) - Турбо – Паскаль 7.0 Самоучитель для школьников, студентов и начинающих. Прочесть и понять можно за неделю. Из неё усвоил синтаксис языка, основные конструкции. Попрактиковался, написал десяток-другой несложных программ, которые позволили мне закрепить прочитанное. А дальше захотелось повысить планку и я полез ковырять Дельфи. Для начала захотелось узнать, в чём его отличие от Паскаля. Прочитал 2 первые главы из Учебное пособие по программированию на языке Delphi, которые расширили и дополнили мои знания (можно начать сразу с них, но в первой книжке объяснение проще некуда). Программы работающие в консольном режиме начали надоедать, захотелось кнопочки, формочки и т.п. вещи, а это отдельный раздел - объектно-ориентированное программирование. Довольно сложная тема для начинающего. Перечитал главы по теме из разных книг по Дельфи, но там слишком нудно написано и долго вникать в суть, а мне надо уже писать программы:pardon: И тут я наткнулся на одни ламерские курсы, где легко и просто было изложено всё то, что я не понял в книгах. После просмотра первого видео написал несложную, но в то же время полноценную программу с кнопками, анимацией, всплывающими окнами, меню и т.д. Практикум был отличный.

В общем, мне не нужно быть профессиональным программистом, я учусь для себя, поэтому всякие там толстые книги принципиально не приемлю. Чем короче путь до цели, тем лучше. Мой принцип - от общего к частному, нахвататься вершков, с помощью которых уже воплощать в жизнь первые задумки, а по мере практики восполнять недостающие пробелы с помощи справочников и поисковиков. Подобным образом в начале выстраивается мозаика, которая со временем заполняется недостающими элементами. Таким же макаром я начал изучать PHP. Прошёл месяц с момента обучения, но текущие знания уже позволяют мне кое-что делать.

lexik 18.02.2011 02:47

Цитата:

Сообщение от Самокритик (Сообщение 50688)
Нуда, нажал пару кнопок и учётная система ценой в пару-тройку лямов готова !
Если позвоните прямо сейчас - получите помимо платформы, типовое решение "Управление небольшой фирмой" в подарок !
___
заморачиваться нужно везде

Это уже Ваши домыслы
Не нужно передергивать я писал совсем о другом
Цитата:

При создании базы там не нужно особо заморачиваться со структурой баз данных, какие таблицы и как между собой будут связаны (в смысле не нужно программировать эти связки)
т.е. к примеру в Access вам нужно будет писать разные алгоритмы для связывания таблиц, а в 1С вы это делаете в пару кликов.

lexik 18.02.2011 03:21

Цитата:

Сообщение от Djohar (Сообщение 50731)
Весьма познавательно, спасибо. А где этому научиться?
В принципе, подумываю о заочном в какой-нибудь "компьютерной академии", но для начала хочу попробовать самостоятельно. Можешь посоветовать литературу/форумы, где разъясняется именно эта информация, а не только языки программирования, предполагающие определённый багаж знаний у меня?

Если короче - где/как ты этому учился?

Вообще нужно как всегда определиться с целями (для чего тебе это надо).
Если о себе, то у меня был начальный уровень знаний примерно как у Вас (Basic, DBase III), т.е. специально на программиста я не учился, но работа эта нравилась. Устроился в ЖЭУ программистом (реально работал системным администратором), потом устроился в торговую фирму - у них была 1С-ка, к ней книги идут по конфигурированию и администрированию, сидел изучал и ковырял потихоньку её. Потом устроился в 1С франчайзинговую фирму, ну а там уже набрался большого опыта на множестве клиентов.

Цитата:

Вообще предполагаю, что мне это понадобится больше для офисного изпользования - например, для создания программы учёта заказов "под себя" (т.е. построенную именно под мои нужды) а также мобильных приложений этой же направленности (под Андроид - поэтому, видимо, нужно будет изучать Java?)
Короче - если у Вас на работе уже есть 1С-ка то проще всего взять книги, которые там идут в коробке и изучать их и практиковаться на задаче поставленной Вами (выделена цитатой).

mera 18.02.2011 11:45

Цитата:

Сообщение от mera (Сообщение 50773)
И тут я наткнулся на одни ламерские курсы, где легко и просто было изложено всё то, что я не понял в книгах.

А ссылку забыл скинуть... В общем, Ознакомительные видеоуроки по Delphi 7. Кстати, говорят с базами в Delphi работать одно удовольствие, в отличие от например C++. Посмотрев последнюю "лекцию" по ссылке выше можно в этом убедиться. Сам я пока не работал с базами.


Часовой пояс GMT +3, время: 19:47.

Осознание, 2008-2016