Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2012, 17:31   #1
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию Сравнить две программы. Одну из самых первых и одну из последний

Извиняюсь за опечатку в заголовке -> "последних"

Очень стало забавно когда просмотрел код своей первой выложенной программы на форум и соответственно допустим из того что пишу на данный момент. Не знаю как для Вас, но я такие моменты стараюсь сохранять, то есть первые программы и прочее
Epic комментарии среди кода, на это потом приятно посмотреть с улыбкой
Вот допустим моя первая более объемная как для меня тогда казалось программа на c++, писалось эдак года 3 назад 2.5, точно не помню (program1 - во вложение)
Первая моя программа на wpf в нынешнем времени, теперь более матёрый че л, более объемный код, может не совсем правильный но лучше чем было раньше
Интересно посмотреть если кто-то из программистов на форуме делает точно так же, интересно просмотреть первый код и последний написанный код.
Интересно узнать, кто за сколько времени считает что научился программировать действительно нормальные вещи.
Например "САМЫЙ ПРИМЕРНЫЙ" заработок за определенный интервал времени от начала карьеры программиста скажем так Пускай этот интервал будет равен 3 годам.
Например я, заработал около 2000$ может чуть более за 3 года от начала.
Зарабатывал в сфере мморпшной игры под названием Mu Online клиент/сервер. В основном любил рыться в клиентской части, так как с графикой работать нравится больше нежели с логикой сервера. Было много асма и сишки, любимая Олюшка Вообщем как-то так... Будет приятно если тема кому-то будет интересна.
Вложения
Тип файла: txt Program1.txt (22.9 Кб, 167 просмотров)
Тип файла: txt Program2.txt (74.0 Кб, 167 просмотров)
coNsept вне форума Ответить с цитированием
Старый 23.03.2012, 20:00   #2
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Код:
_asm
{
    jmp BeginMark
}
Сразу видно - ярый противник goto

Одна из самых старых уцелевших моих программ датируется 2003-м годом (мне было 14). Тогда мой отец в качестве наказания поставил пароль на BIOS, с правом пользования компьютером только в крайних случаях. Я набросал на бумаге программу на Паскале, которая рисует экран, в точности повторяющий загрузку биоса, с окном ввода пароля. После чего под каким-то предлогом попросил маму ввести пароль, и за полчаса написал и отладил эту программу. Запустил её, и, под предлогом, что нужно было перезагрузиться, попросил маму ввести пароль ещё раз.

Следующие несколько ночей (пока все спят) я провёл за компом.

Пока отец меня таки не спалил, и , недоразумевая, как я мог получить доступ, сменил пароль. Точноее - думал, что сменил, а на самом деле вместе с существующим user password поставил supervisor passowrd. Ещё несколько ночей я провёл за компом. Когда отец меня опять спалил, он сдался, поняв, что вырастил на свою голову хакера.

Ну а пример недавнего кода - класс на C#, который из большого массива данных делает пики (как в SoundForge), которые очень быстро рисуются в любом масштабе (хоть 1:100000) без потери каких-либо точек.
Вложения
Тип файла: txt swpass.pas.txt (3.1 Кб, 150 просмотров)
Тип файла: txt Resampler.cs.txt (11.3 Кб, 162 просмотров)

Последний раз редактировалось ds.Dante; 23.03.2012 в 20:09.
ds.Dante вне форума Ответить с цитированием
Старый 23.03.2012, 21:11   #3
MooNDeaR
В стагнации
Участник клуба
 
Аватар для MooNDeaR
 
Регистрация: 29.07.2011
Сообщений: 1,305
По умолчанию

Цитата:
Одна из самых старых уцелевших моих программ датируется 2003-м годом (мне было 14). Тогда мой отец в качестве наказания поставил пароль на BIOS, с правом пользования компьютером только в крайних случаях. Я набросал на бумаге программу на Паскале, которая рисует экран, в точности повторяющий загрузку биоса, с окном ввода пароля. После чего под каким-то предлогом попросил маму ввести пароль, и за полчаса написал и отладил эту программу. Запустил её, и, под предлогом, что нужно было перезагрузиться, попросил маму ввести пароль ещё раз.
Боже какие были времена. Жаль я застал их в 6-7 лет и не успел опробовать кайф этого времени. Ща расплачусь
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание.
MooNDeaR вне форума Ответить с цитированием
Старый 23.03.2012, 21:30   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

2ds.Dante
в 14 лет каменты на англ, осмысленные названия процедур, фолдинг? силееееен.

первая прога:
первый курс (6 лет назад), второй семестр, ООП в С++. первая программа более 200 строк (раньше были всякие дискриманты и тп, не считаю). База данных студентов. сохранялись в обычный файл. рисовалось все в псевдографике. писал недели 2, не меньше.
в принципе, у кого есть билдер (писалось на 6), может скомпилить. выглядит на мой взгляд красиво
http://pastebin.com/QgjVQzpc

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

http://pastebin.com/XmgXCWxu
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 23.03.2012 в 21:33.
pproger вне форума Ответить с цитированием
Старый 23.03.2012, 22:12   #5
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Цитата:
Сообщение от MooNDeaR Посмотреть сообщение
Боже какие были времена. Жаль я застал их в 6-7 лет и не успел опробовать кайф этого времени. Ща расплачусь
Для меня то был переходный возраст, не самый приятный период жизни.

Цитата:
Сообщение от pproger Посмотреть сообщение
2ds.Dante
в 14 лет каменты на англ, осмысленные названия процедур, фолдинг? силееееен.
Сам даже немного удивился, просматривая сейчас этот код; но после 10 лет с компьютером хоть какой технический английский уже должен был быть.
Только я не понял, причём здесь фолдинг.

pproger, хранишь вернoсть плюсам... но почему C++ hater?
ds.Dante вне форума Ответить с цитированием
Старый 23.03.2012, 23:05   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

2ds.Dante
Цитата:
но после 10 лет с компьютером хоть какой технический английский уже должен был быть.
т.е ты пользователь с 4-х лет?) завидую, у меня только в 10 классе комп появился

Цитата:
Только я не понял, причём здесь фолдинг.
по моим наблюдениям новичкам фолдинг чужд, все пишут с одинаковым выравниванием, стараются писать "компактнее", чтоль. я и сам так писал до 3-го курса. только потом через силу выработал в себе стиль. да и студия тогда сама автоиндентила код, когда билдер нет (или индентил, но криво, не помню)

Цитата:
хранишь вернoсть плюсам... но почему C++ hater?
тяжело объяснить) в двух словах - чрезмерно сложен, не занимает никакой ниши, во многих областях используется неоправданно. с выходом с++11 вообще кошмаром стал.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 23.03.2012, 23:15   #7
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Код:
Сразу видно - ярый противник goto
На самом деле на то время я очень хотел научиться писать на ассемблере и для меня самые маленькие детали асма заставляли меня чувствовать настоящим хацкером

Я начал немного иначе гдет в 11 классе, на то время увлекался как и указывал выше мморпг игрой MuOnline. Очень любил играть, но в один момент меня переклинило и я захотел изменить эту игру
Помню меня настолько одурманило чтение книг по c++ что я начал вставать в 6 часов утра и до 6 а то и более вечера я из книг не вылазил.
Помню такие моменты как чтение доходило до 600 страницы из 1к с копейками и я нечерта не понимал что там пишут, абсолютно... но я продолжал ее читать
Не понимал потому что не хватало математических знаний, гнобил себя за то что не учился в школе и не учил математику
В принципе я делаю это и сейчас и в основном все мои программы пишутся на логику, хотя местами требуется мат. решение но увы почему-то она мне не отдается, хотя программирование идет куда лучше. Учусь в техникуме и в группе моей можно так сказать считаюсь одним из лучших кто умеет программировать.
Кстати, нарыл код еще старее, игра баше Кстати на паскале редко когда писал, но почему-то игру решил написать именно на нем.

Последний раз редактировалось coNsept; 23.03.2012 в 23:22.
coNsept вне форума Ответить с цитированием
Старый 23.03.2012, 23:16   #8
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

мммм, прям ностальгия

Код:
Program Bashe;

Uses CRT;

Function YouWinLose(Stick, Clear: Integer): Integer;
 Begin
   if (Stick = 0) or (Stick < 1) then
	 Begin
	   WriteLn;
	   WriteLn('Вы проиграли!');
	   WriteLn('Замечание: Вам необходимо убрать предметы так, чтобы ваш противник остался с последним предметом!');
	   WriteLn('Вы сделали немного наоборот, убрав последние количество предметов, в результате чего и проиграли...');
	   Halt;
   End
   else
   if (Stick = 1) or (Stick < 1) then
	Begin
	  WriteLn;
	  WriteLn('Вы выиграли, поздравляю!');
	  Halt;
	End
   else
 End;

Function ComputerWinLose(Stick, RandomClear: Integer): Integer;
 Begin
   if (Stick = 0) or (Stick < 1) then
	Begin
	  WriteLn('Компьютер проиграл!');
	  Halt;
	End
	else
	if (Stick = 1) or (Stick < 1) then
	 Begin
	   WriteLn('Компьютер выиграл!');
	   Halt;
	 End
   else
 End;

Function Steps(Stick, Clear, RandomClear: Integer): Integer; 
 Begin
   Stick:= 15;
   Repeat
	WriteLn;
	ReadLn(Clear);
	if Clear > 3 then
	   Begin
		 WriteLn;
		 WriteLn('Больше 3 предметов брать запрещено!');
		 WriteLn;
		 WriteLn('			  Попробуйте начать заного...');
		 Halt;
	   End
   else
   Stick:= Stick - Clear;
   WriteLn;
   if Clear = 0 then
	  Begin
		WriteLn('Вы должны выбрать хоть 1 предмет!');
		WriteLn;
		WriteLn('			 Попробуйте начать заного...');
		Halt;
	  End
	 else
   if Clear = 1 then   
	  WriteLn('Вы убрали ' , Clear, ' предмет.', ' - В наличие ещё ', '[', Stick, '] -')
   else
	  WriteLn('Вы убрали ' , Clear, ' предмета.', ' - В наличие ещё ', '[', Stick, '] -');
	  YouWinLose(Stick, Clear);
	  WriteLn;
	  Sleep(1000);
	  WriteLn('			  Теперь ходит комьютер...');
	  Sleep(3000);
	  ClrScr;
	  WriteLn('Loading');
	  Sleep(500);
	  ClrScr;
	  WriteLn('Loading.');
	  Sleep(500);
	  ClrScr;
	  WriteLn('Loading..');
	  Sleep(500);
	  ClrScr;
	  WriteLn('Loading...');
	  Sleep(500);
	  ClrScr; 
	  Repeat
	   Randomize;
	   RandomClear:= Random(4);
	   if RandomClear = 0 then
		RandomClear:= Random(4);
	  Until RandomClear <> 0;
	  Stick:= Stick - RandomClear;
	  WriteLn;
	  if RandomClear = 1 then   
	   WriteLn('Компьютер убрал ' , RandomClear, ' предмет.', ' - В наличие ещё ', '[', Stick, '] -')
	  else
	   WriteLn('Компьютер убрал ' , RandomClear, ' предмета.', ' - В наличие ещё ', '[', Stick, '] -');
	   WriteLn;
	   ComputerWinLose(Stick, RandomClear);
	   WriteLn('Ваш ход!');
	Until Stick = 1; 
 End;

Procedure AboutGame(Information: String);
 Begin
   ClrScr;
   WriteLn;
   WriteLn('(Игра Баше на 15 предметах)');
   WriteLn;
   WriteLn('Правила игры Баше таковы. Имеется 15 одинаковых предметов(обычно это деревянные палочки).');
   WriteLn('В игре участвуют двое. Соперники ходят по очереди, за каждый ход играющий может взять 1, 2 или 3 предмета.');
   WriteLn('Проигрывает тот, кто вынужден взять последний предмет.');
   WriteLn(' # Примечание - пропускать ход нельзя.');
   WriteLn;
   WriteLn('Чтобы продолжить нажмите <Любую кнопку>');
   ReadKey;  
 End;

Var
  Stick, Clear, RandomClear: Integer;
  Information: String;

Begin
  WriteLn(' # Добро пожаловать!');
  WriteLn;
  WriteLn('Для того чтобы начать играть в "Баш", необходимо ознакомится с правилами игры.');
  WriteLn;
  WriteLn('Чтобы продолжить нажмите <Любую кнопку>');
  ReadKey;
  AboutGame(Information);
  ClrScr;
  WriteLn;
  WriteLn('Если вы ознакомились с правила, тогда вперед.');
  WriteLn;
  WriteLn('			  Перед вами 15 предметов');
  WriteLn;
  WriteLn('			  [ ||||| ||||| ||||| ]');
  WriteLn;
  WriteLn('Сколько предметов вы хотите убрать? "Я надеюсь вы помните, что максимально можно убрать 3 предмерта...":');
  Steps(Stick, Clear, RandomClear);
End.
coNsept вне форума Ответить с цитированием
Старый 23.03.2012, 23:21   #9
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Код:
WriteLn('Loading');
	  Sleep(500);
	  ClrScr;
	  WriteLn('Loading.');
	  Sleep(500);
	  ClrScr;
	  WriteLn('Loading..');
	  Sleep(500);
	  ClrScr;
	  WriteLn('Loading...');
	  Sleep(500);
	  ClrScr;
Анимация типа индикатора загрузки :D :D :D :D :D :D
coNsept вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Две строки в одну Sawok Помощь студентам 1 24.02.2012 00:55
программы на одну две строчки pyls Помощь студентам 0 22.05.2011 18:49
перевод чисел. (связать две программы в одну.) 13xXx13 Паскаль, Turbo Pascal, PascalABC.NET 1 21.12.2010 19:51
Объединить две процедуры в одну AndreiFQ Помощь студентам 5 24.06.2010 09:26
C++. Собрать две маленькие программки в одну!! || Flashka || Помощь студентам 0 11.05.2010 13:59