LINUX.ORG.RU
ФорумTalks

Хочу начать кодить - Reloaded


0

0

Прошлый раз в январе-месяце создавал такую же тему, но не отвечал на сообщения комрадов, потому что думал что мою тему удалили модеры. Когда узнал о такой вещи как «мои темы», нашел ту тему и аж ужаснулся)) Извините за то что раньше не отреагировал на ответы))

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

Вопрос в том, стоит ли мне на этом писать и достаточно ли быстро (не за месяц конечно, я понимаю) я научусь делать хорошие, и главное, нужные приложения? Я хочу на это тратить практически каждый рабочий день по 20, максимум 25 минут, по выходным буду, но реже гораздо.

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

★★★★

Последнее исправление: doctorx (всего исправлений: 1)

С помощью python и pygtk проще освоить саму gtk-библиотеку, какие бывают виджеты и как ими пользоваться.

И «Си быстро, а Питон тормоз» - это все-таки толсто. Чтобы писать хорошие и полезные приложения на Си, и которые при этом не текли как красна девица нужно не 20 минут в день тратить.

Так что лучше советую начать с питона, или с того же C#/Mono, там синтаксис близок к Си, а уж потом, если дело хорошо пойдет, то gtk+ ты уже будешь знать и си изучить не составит труда.

mono ★★★★★
()
Ответ на: комментарий от hibou

Побойтесь б-лки, я еще понимаю когда лисперы на своих скобочках ваяют объекты, но красного дерева обитый медью, блестящий на солнце набор костылей для Си с дарственной «лично гномом» гравировкой- это насмешка века в области iT.

wfrr ★★☆
()
Ответ на: комментарий от mono

Вот только питон или моно приучат не следить за памятью. Потом придется привыкать ко всяким free/delete и, мне кажется, это не так просто.

winlogon
()
Ответ на: комментарий от winlogon

>Вот только питон или моно приучат не следить за памятью. Потом придется привыкать ко всяким free/delete и, мне кажется, это не так просто.

Зато в итоге будет ваять кривые поделия наподобие венды =)

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

вечерами

Уважаемый, обратите на это внимание, когда следующий раз когда почувствуете что вашу сущность доктора Джекила побеждает внутренний монстр мистер Хайд-Петросян.

wfrr ★★☆
()
Ответ на: комментарий от winlogon

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

wfrr ★★☆
()
Ответ на: комментарий от wfrr

>Уважаемый, обратите на это внимание, когда следующий раз когда почувствуете что вашу сущность доктора Джекила побеждает внутренний монстр мистер Хайд-Петросян.

Так вот у тебя то же самое, видимо. Потому что я говорил как раз про досуг, а именно вечер. На работе я все время с паяльником и схемами (АСУшником тружусь), а на попрогать остается только вечер, так вот тогда-то и мешает мне лень. Хотя во времена учебы все это проще как-то было.

Zhbert ★★★★★
()
Ответ на: комментарий от mono

Насчет течки согласен с Василием.
Простейший пример:

	s = g_strndup (buf -> str,*z);
	s = pango_trim_string (s);

Это из реального кода! Не скажу откуда, там уже поправили.

Вот так лучше не делать! Здесь g_strndup выделяет память под строку. И pango_trim_string тоже выделяет память и присваивает ее указателю s. Старый указатель s теряется. Соответственно кусок памяти выделенный g_strndup остается используемым, не возвращается системе, но указатель на него потерян! Память не вернуть. Вот такие пироги с котятами!

Видение этих вещей приходит с опытом.

hibou ★★★★★
()
Ответ на: комментарий от Zhbert

Так вот у тебя то же самое, видимо.

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

wfrr ★★☆
()
Ответ на: комментарий от hibou

Да, хорошо если это 1 раз. А если это в цикле?!!!

hibou ★★★★★
()
Ответ на: комментарий от hibou

Вот так лучше не делать!

Здесь g_strndup выделяет память под строку. И pango_trim_string тоже выделяет память

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

wfrr ★★☆
()
Ответ на: комментарий от wfrr

>Если принесете жертвенный орешек.

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

Zhbert ★★★★★
()
Ответ на: комментарий от wfrr

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

hibou ★★★★★
()
Ответ на: комментарий от hibou

В stdlib так и есть, и в winapi, ибо иначе проследить кто где выделил не подтерся - невозможно не изучая досконально документацию, а в сях там сигнатура функции принимает указатель на char* и длину - и ежику понятно что нужно выделить память. Причем оыбчно решается задача проще чем вы полагаете - первый вызов функции возвращает нужную длину, вы выделяете память, а затем вызываете второй раз, или итеративный вызов пока все не влезет(это уже в винапи так) с realloc.

wfrr ★★☆
()
Ответ на: комментарий от winlogon

а там умные указатели есть, кроме того у меня там в посту еще кой что написано, именно про методологию: где выделена там и удалить. И это часто использутся, например в тойже libpng

wfrr ★★☆
()
Ответ на: комментарий от winlogon

>Вот только питон или моно приучат не следить за памятью. Потом придется привыкать ко всяким free/delete и, мне кажется, это не так просто.

научится следить за памятью можно научится и потом, если очень захочется.

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

mono ★★★★★
()

C gtk не связывайся, это кака.

Если хочешь на C потренироваться, вступай в ряды разработчиков MidnightCommander, и попробуй в нем сделать человеческую работу с буфером обмена оконной системы.

xintrea
()
Ответ на: комментарий от winlogon

>Вот только питон или моно приучат не следить за памятью. Потом придется привыкать ко всяким free/delete и, мне кажется, это не так просто.

Даже может появиться ощущение, что за ней следят. И за тобой следят. Особенно весной или осенью.

slackwarrior ★★★★★
()
Ответ на: комментарий от wfrr

первый вызов функции возвращает нужную длину, вы выделяете память, а затем вызываете второй раз, или итеративный вызов пока все не влезет(это уже в винапи так) с realloc

да-да, помню как первый раз увидел - ржал неимоверно :) а потом ничего - привык

PS белко респект

shty ★★★★★
()
Ответ на: комментарий от slackwarrior

Даже может появиться ощущение, что за ней следят. И за тобой следят. Особенно весной или осенью.

ога, обычно Вы следите за памятью, в «этой стране» - память следит за Вами :)

shty ★★★★★
()
Ответ на: комментарий от winlogon

>Вот только питон или моно приучат не следить за памятью. Потом придется привыкать ко всяким free/delete и, мне кажется, это не так просто.

Эти научат. Особенно второй. Особенно на ЛОРе. Привыкать к delete

slackwarrior ★★★★★
()
Ответ на: комментарий от wfrr

>что убогий си скорее всего скоро благополучно сдохнет

для того чтобы он сдох, нужно что-то ему на замену

antony986
()
Ответ на: комментарий от Deleted

> Ну и что вы успеете за 20 минут? Только сели, начали думать и все, время вышло

Присоединяюсь. Тем более программистом ты так никогда не станешь, 20 минут в день для таких дел - ничто.

pevzi ★★★★★
()
Ответ на: комментарий от Zhbert

>>Идей куча, желание и время есть, а лень не дает даже IDE открыть.

Мать его за ногу, у меня все так же!

Блин вы телепаты штоле, у меня один в один >__< сотни идей, но лень и несобранность всё портят.

pevzi ★★★★★
()
Ответ на: комментарий от mono

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

pevzi ★★★★★
()
Ответ на: комментарий от mono

То есть, как я понял, для си 20 минут в день это маво, поэтому лучше для меня учить C#/Mono. Но ведь они требуют over 9000 зависимостей и они менее быстры. Разве нет больше языков на линупсы, гэтэка, чтоб на них приложения были быстры и без кучи зависимостей и в то же время быстро изучаемый? (как-то звучит даже нереально)

doctorx ★★★★
() автор топика
Ответ на: комментарий от wfrr

А что ты предлагаешь вместо сей (или сёв)?

pevzi ★★★★★
()

Кстати у меня вопросов про линупсы, но каждый писать в форумы имхо невежливо, есть такое типа лор-чат? Я что-то слышал про жаббер, но с чем его едят?

doctorx ★★★★
() автор топика
Ответ на: комментарий от doctorx

Быстрость приложения зависит не от языка программирования, а от программиста. Откуда ты знаешь, что сможешь писать быстрее и без зависимостей приложения на Си? ты думаешь там все так просто?

Поэтому я тебе советую взять какой-нибудь язык программирования попроще и научится, для начала, писать алгоритмы, а потом уж думать о больших приложениях. Для этого лучше подойдет python, чем C#/Mono.

А вот когда ты изучишь основы, будешь понимать как это «программировать», придумаешь себе задачу, тогда сам решишь какой язык и тулкит для нее брать.

Выбирать графический тулкит в самом начале изучения программированию - это в корне неверно.

mono ★★★★★
()
Ответ на: комментарий от mono

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

Только я не понял почему выбирать тулкит в начале неправильно - ведь если я постоянно использую один, то зачем мне выбирать другой для своего софта?

doctorx ★★★★
() автор топика
Ответ на: комментарий от doctorx

>Правильно ли я мыслю?

Ну в общем то да.

Только я не понял почему выбирать тулкит в начале неправильно

Потому что в начале нужно учить не тулкит, а программировать. Тулкит выбирается под конкретную задачу.

mono ★★★★★
()
Ответ на: комментарий от xintrea

> C gtk не связывайся, это кака.

вступай в ряды разработчиков MidnightCommander


Т.е. gtk это кака, а glib это то, что доктор прописал? Я один здесь вижу деление на 0 ?

d_a ★★★★★
()
Ответ на: комментарий от mono

Я вот как-то приступал к питону, и мне встретился pygtk. Это что за зверь? Тоже питон, или же ответвление, одно и то же ли это. Стоит ли его мне изучать?

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

doctorx ★★★★
() автор топика
Ответ на: комментарий от doctorx

Pygtk - это биндинг gtk+ к python. Я советую не лезть в дебри, а научится просто писать код, понять самые основы, а уж потом думать о приложегтях.

mono ★★★★★
()
Ответ на: комментарий от xetf

А вообще существует ирс-каналы с юзерами ЛОРа? А то я немного разобрался с иксчатом, хочется больше затестить

doctorx ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.