0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 19
|
|||||||||||||
1 | |||||||||||||
Буду программистом! С чего начинать?13.01.2012, 15:38. Показов 65643. Ответов 442
Приветствую всех. Коротко о себе: мне 29 лет, живу в Украине. Работал экономистом, маркетологом и прочими другими. Было небольшое дело. Разочаровался, понял, что не мое. Осознал, что мне нравится проводить время за компьютером - в свободное время делал свой блог, пару сайтов, разбирался с HTML ради интереса. Взвесив многое, прикинув варианты и последствия, все же решился попробовать стать программистом. Мне это нравится. Не спешите критиковать: мол, там поработал, тут... теперь новая фишка - "хАчу кодить..." Я настойчив, если глаза горят. А они горят. Долго думал - не поздно ли в 29 переучиваться? Но.. а) Похоже, что вариантов в моем случае нет.... b) Тыщи примеров других успешных людей, которые и в 45 переучивались или эмигрировали (да полстраны, после распада СССР, чо уж...). В общем, отвожу себе 1 месяц на то, чтоб сделать вывод - мое ли это. Если да - то далее отвожу себе 1 год, чтоб стать пусть не ХОРОШИМ, но нормальным программистом и зарабатывать себе на жизнь этим ремеслом. Повторюсь: я - настойчивый, поэтому не надо демотивирующего скептицизма, а вот конструктивная критика - с благодарностью приму. Итак, исходные данные: небольшие знания HTML, с компьютером, в принципе, "на ты", хороший комп и инет... вот, собсно и все. Ах, да... еще и желание))) Много рылся в инете в поисках главного вопроса: С ЧЕГО НАЧАТЬ? В общем, начал осваивать паскаль, вроде ничего сложного... с С++ рекомендовали не начинать, хотя мне и очень охота. Вопрос с общественности (риск холивара, блин): с чего начать, если знаний в программировании - 0? Pascal, C++, Java, PHP.... Помогите разобраться и определиться!!! Пока жду ваших комментариев, ковыряю потихоньку паскаль и си++. Спасибо.
0
|
13.01.2012, 15:38 | |
Ответы с готовыми решениями:
442
Open source. С чего начинать? си, си++ и другие. или с чего начинать Возьмите в команду верстальщиком или php программистом, буду работать за опыт! с чего начинать))) |
610 / 413 / 91
Регистрация: 21.01.2024
Сообщений: 1,960
|
|
02.05.2024, 17:50 | 421 |
У меня в дипломе написано "Присвоена квалификация математика". Всю жизнь занимаюсь программированием. По работе ничего сложнее обычной геометрии, биквадратных уравнений и систем линейных уравнений не встречалось. И то очень давно. В самом начале, когда занимались технологическими задачами на производстве. Ну делали программы для генерации программ для станков с ЧПУ. Тут бы может и физика пригодилась, что бы считать всякие допуски припуски с учетом износа инструмента и теплового расширения. Но нет. Вся инфа есть в технологических таблицах. Просто берешь все эти цифры оттуда. Фундаментальные знания конечно хорошо, иногда помогают, но и без них можно. В чем польза от высшего образования - нас учили учиться. Вот учиться в программировании приходится постоянно.
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
30.06.2024, 02:37 | 423 |
Ну дык задача высшей математики именно в том чтбы свести сложные задачи к серии четырех арифметических действий. Хохма обычно не в том чтобы решить систеемы а в том как описать задачу при помощи систем уравнений.
Вы часом не забыли к примеру что указатель - тензор со всеми отсюдава вытекающими, декомпозиция делается на основе анализа графа выполнения и т.д. и т.п. и ТПР и ТАУ и че там тока нету в результате. Просто все это давно как то на подсознательном уровне применяются. Эт как на велосипеде ездить - тот кто умеет даже не замечает как баланс микроповоротом руля ловит. А тот кто не имеет этого фундаментального знания так и навык хрен получит. От и тут так же.
0
|
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 803
|
|
30.06.2024, 10:42 | 424 |
Fulcrum_013,
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
30.06.2024, 13:24 | 425 |
mikello, Ну потому что это вектор в обычно 1D пространстве(обычно 1D пототму что другие варианты легко сводятся к виртуальному 1D в следствие дискретности осей) . При смене пространства его значение пересчитывается. Вспомним определение - указатель это ячейка памяти которая хранит адрес каких либо данных. То что адрес понятие растяжимое и зависимо от адресного простанства обычно в мурзилках для самых маленьких молчат, а в мануалах для бородатых гиков считают что это и ежу понятно из курса информатики, ив описании языка это указывать не надо.
1
|
12309 / 8676 / 1310
Регистрация: 21.01.2016
Сообщений: 32,605
|
|
30.06.2024, 14:02 | 426 |
Fulcrum_013, практическая польза от этого какая? Почему нельзя указатель считать просто указателем? Сильно пресно?)
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
30.06.2024, 14:13 | 427 |
Usaga, Потому что когда понятно что и индекс массива и символьный ключ в мапе и оффсет в файле, и хендл даже обджекта живущего на другой машине и т.д. - все это тупо указатели, только в разных адресных пространствах, а соответсвенно просто имеющие разный формат адреса, то и вместо выдумывания всяких спасителей от указателей, просто работается со всем этим аки с обычным указателем. От тогда сразу видно что GC - это не просто не о чем, это про отсутсвие автоматики априори (ибо не в состоянии работать в разнородных адресных пространствах по определению), а соответсвенно имплэмэнтятся и юзаются более другие мач мо продактив робуст энд релибл аппрочи
0
|
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 803
|
|
03.07.2024, 17:35 | 428 |
Fulcrum_013, здравствуйте.
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
03.07.2024, 18:32 | 429 |
Both of it. Да кстати на собеседованиях с таким сталкивался. Ну типа задача. Систему составил интервьювер говорит - все хватит с этим вопросом, дальше как это решать и в справоччнике есть.
К примеру обращение к элементу массива. Индекс - это указатель в адресном пространстве массива. operator [] производит пересчет из адресного пространства массива в адресное пространсто содержащий массив памяти. То же самое с ассоциативными массивами ака map и т.п.. Ну это простейшие примеры. Гораздо более сложные - сериализация/десериализация и т.п.
1
|
Заблокирован
|
|
03.07.2024, 18:41 | 430 |
mikello, решение почти любой задачи (и в физике тоже) сводится к составлению системы уравнений. Как только эта система уравнений составлена, задачу можно считать решенной. Потому что решение системы уравнений - это уже ДРУГАЯ задача, чисто техническая.
Нам в своё время один умный чувак физик говорил так - как только составили систему уравнений можете идти пить пиво. Это было в СССР. Если сейчас в универах умные чуваки ещё есть, то и они должны студентам говорить так же. Если не говорят, то... значит их там уже нет. Добавлено через 1 минуту Почему я написал "почти любой"? Потому что есть задачи, которые не требуют составления уравнений. Например, задача найти деньги на пиво.
2
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
03.07.2024, 18:54 | 431 |
Но проще таки при помощи составления системы. Одна правильно составленная на собеседовании система может обеспечить деньгами на 9,000+ пинт ворлд-топ кьюалити пива в месяц.
1
|
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 803
|
|
04.07.2024, 13:34 | 432 |
Fulcrum_013,
Код
int a[] = {1, 2, 3, 4, 5}; std::cout << &a[0] << std::endl;
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
04.07.2024, 13:43 | 433 |
mikello, a[i] аналолгично *(a+i) или *(int*)((void*)a +i *sizeof(int)). Ну это опять же простейший случай фундаментального (встроенного в язык) массива. у std::vector где и как размещены элементы определяет аллокатор а соответтственно и правила пересчета зависят от используемого для конкретного экземпляра вектора аллокатора.
1
|
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 803
|
|
04.07.2024, 13:46 | 434 |
Fulcrum_013,
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
04.07.2024, 13:49 | 435 |
НУ естественно что фундаментальных массивов это адрес нулевого элемент. т.е. массив - это указатель на начало его адресного пространства. Т.е. a - орижин оcи, sizeof(*a) - длина единичного вектора/цена деления оси, i - количество отсчетов вдоль оси. А как там под капотом нефундаментальных (библиотечных) типов - ну для каждого по своему. в доке/коде расписано как именно.
1
|
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 803
|
|
04.07.2024, 13:55 | 436 |
Fulcrum_013,
&a[0] - адрес первого элемента массива в памяти, содержащей массив. Это адрес после пересчета []. А до этого какой адрес был?
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
04.07.2024, 14:24 | 437 |
mikello, Да но указатель в адресном пространстве массива - индекс. Т.е. до пересчта был 0.
1
|
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 803
|
|
04.07.2024, 15:20 | 438 |
Fulcrum_013, при компиляции и запуске приложения указатель(индекс) будет другим (поскольку подставляется рандомный при выполнении), верно?
0
|
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
04.07.2024, 15:32 | 439 |
mikello, Индекс будет тем же. Другим будет значени a. т.е. адрес начала массива.
Ну это в зависимости от платформы. Но по какому адресу компилятор этот конкретнный массив положит при следующей компиляции естественно зависит от того что еще декларировано перед этим массивом. Это для статических адресов. Но даже для массивов фундаментальных типов возможно расположение на стеке (ну в скопе функции объявлен или в классе экземпляр которого потом создается) или на куче. Тогда его адрес вообще только в рантайме определяется.
1
|
57 / 48 / 5
Регистрация: 19.11.2017
Сообщений: 803
|
|
04.07.2024, 15:49 | 440 |
Fulcrum_013, ok. А какая информация содержится по адресу 0?
0
|
04.07.2024, 15:49 | |
04.07.2024, 15:49 | |
Помогаю со студенческими работами здесь
440
С чего начинать? С чего начинать? с чего начинать? С чего начинать? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |