Программирование-с чего начать?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by lisvan, 7 Jan 2013.

  1. djkefir

    djkefir New Member

    Joined:
    17 Dec 2010
    Messages:
    28
    Likes Received:
    1
    Reputations:
    0
    Если память хорошая учи цпп.
    Если нет, делфи.
     
  2. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    http://python.org/download/

    Версия 2.7.3 является текущей, потихоньку происходит мигрирование на 3.x, но я бы советовал тренироваться на 2.7.3.
     
  3. khvdaiver

    khvdaiver New Member

    Joined:
    29 Oct 2012
    Messages:
    79
    Likes Received:
    2
    Reputations:
    0
    ни в коем случае не начинай ни с Basic-языков, ни с Pascal-языков (Delphi из них).
    Ты просто про**шь время. Эти языки почти нигде где катируются, у них есть огромнейшие недостатки перед другими языками (там есть такие вещи, что... потом в проектировании помрешь).

    C#/C++/C как для системщика очень подойдет. можно побаловаться python'ом в этом же направлении.

    как вебером... JS (это обязательно), php/Ruby/Python, технологии ServerJS/ASP.NET/JSP/. тут всё подойдет, правда, популярность php по отношению к остальным языкам стремительно падает, но он все равно держит свою долю, и очень большую долю =))
     
    #43 khvdaiver, 22 Jan 2013
    Last edited: 22 Jan 2013
  4. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Да.... А та часть людей которая на Delphi профессианально програмируют, скайп, тотал командер и.т.д... Это все х*ня да?)
    Да особенно питон и C# для системщика ой как пойдет, уже лучш Delphi за место C# и питона вклинить там есть возможности для работы с железом и.т.д
    А в питоне.. Ну только pywin32 и то кодить системный софт на питоне, это не целесообразно выглядит.
     
  5. spamer39

    spamer39 Banned

    Joined:
    14 Jan 2013
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Алгоритмы
     
  6. khvdaiver

    khvdaiver New Member

    Joined:
    29 Oct 2012
    Messages:
    79
    Likes Received:
    2
    Reputations:
    0
    лол, что?
    вы видели, какая жесточайшая индусия юзается в skype? в total commander? какоро уровня там быдлокодинг? в виде разваливающихся интерфейсов и т.п.?

    делфи как для системщика.... какого уровня у вас быдлокодниг и индусия в вашем коде? мне просто интересно.
     
  7. dim76

    dim76 New Member

    Joined:
    3 Jan 2013
    Messages:
    49
    Likes Received:
    0
    Reputations:
    0
    Спасибо всем за участие! Я решил таки взять VS2008ExpressWithSP1RUS, уже скачал. Вот поставлю и.... начнем!
     
  8. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    очень интересно, где же ты это мог видеть?
     
  9. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Нука считай кол-во индусс-кого кода.
    Code:
    ParamItem = record
          name: string;
          value: string;
        end;
    
    
        MemberType = (mInteger, mString, mObj, mDouble, mBool);
        SexType = (men, woomen, unknown);
    
        MemberInfo = record
          Name: string;
          MType: MemberType;
          PValue: Pointer;
        end;
    
        PTBaseResult = ^TBaseResult;
        TBaseResult = class
        protected
          FMemberList: array of MemberInfo;
          procedure AddMember(Name: string; Mtype: MemberType; Pvalue: Pointer);
        public
          procedure Load(var jsonObj: TJSONObject);
        end;
    
        TBaseResultCollection = class(TObjectList)
          function GetItems(Index: Integer): TBaseResult;
          procedure SetItems(Index: Integer; Value: TBaseResult);
        public
          property Items[Index: Integer]: TBaseResult read GetItems write SetItems;
          procedure LoadCollection(var jsonObj: TJSONArray);
        end;
    
        TCounters = class (TBaseResult)
        protected
          FAlbums: Integer;
          FVideos: Integer;
          FAudios: Integer;
          FNotes: Integer;
          FFriends: Integer;
          FGroups: Integer;
          FOnlineFriends: Integer;
          FMutualFriends: Integer;
          FUserVideos: Integer;
          FFollowers: Integer;
        public
          Constructor Create;
          property Albums: Integer read FAlbums;
          property Videos: Integer read FVideos;
          property Audios: Integer read FAudios;
          property Notes: Integer read FNotes;
          property Friends: Integer read FFriends;
          property Groups: Integer read FGroups;
          property OnlineFriends: Integer read FOnlineFriends;
          property MutualFriends: Integer read FMutualFriends;
          property UserVideos: Integer read FUserVideos;
          property Followers: Integer read FFollowers;
        end;
    
        TUserInfo = class(TBaseResult)
        protected
          FUid: String;
          FFirstName: String;
          FLastName: String;
          FNickname: String;
          FScreenName: String;
          FSex: SexType;
          FBdate: String;
          FBirthdate: String;
          FCity: Integer;
          FCountry: Integer;
          FTimezone: String;
          FPhoto: String;
          FPhotoMedium: String;
          FPhotoBig: String;
          FHasMobile: Boolean;
          FRate: String;
          FMobilePhone: String;
          FHomePhone: String;
          FUniversity: Integer;
          FUniversityName: String;
          FFaculty: Integer;
          FFacultyName: string;
          FGraduation: Integer;
          FOnline: String;
          FCounters: TCounters;
        public
          Constructor Create;
          property Uid: String read FUid;
          property FirstName: String read FFirstName;
          property LastName: String read FLastName;
          property Nickname: String read FNickname;
          property ScreenName: String read FScreenName;
          property Sex: SexType read FSex;
          property Bdate: String read FBdate;
          property Birthdate: String read FBirthdate;
          property City: Integer read FCity;
          property Country: Integer read FCountry;
          property Timezone: String read FTimezone;
          property Photo: String read FPhoto;
          property PhotoMedium: String read FPhotoMedium;
          property PhotoBig: String read FPhotoBig;
          property HasMobile: Boolean read FHasMobile;
          property Rate: String read FRate;
          property MobilePhone: String read FMobilePhone;
          property HomePhone: string read FHomePhone;
          property University: Integer read FUniversity;
          property UniversityName: String read FUniversityName;
          property Faculty: Integer read FFaculty;
          property FacultyName: String read FFacultyName;
          property Graduation: Integer read FGraduation;
          property Online: String read FOnline;
          property Counters: TCounters read FCounters;
        end;
    
    implementation
    
    { TBaseResult }
    
    procedure TBaseResult.AddMember(Name: string; Mtype: MemberType;
      Pvalue: Pointer);
    var
      Member: MemberInfo;
      L: Integer;
    begin
      Member.Name := Name;
      Member.MType := Mtype;
      Member.PValue := Pvalue;
      L := Length(FMemberList);
      SetLength(FMemberList, L + 1);
      FMemberList[L] := Member;
    end;
    
    
    procedure TBaseResult.Load(var jsonObj: TJSONObject);
    var
      i: Integer;
      tmp: TJSONObject;
    begin
      for i := 0 to Length(FMemberList) - 1 do
      begin
        if jsonObj.has(FMemberList[i].Name) then
        begin
          case FMemberList[i].Mtype of
            mInteger: PInteger(FMemberList[i].PValue)^ :=
              jsonObj.getInt(FMemberList[i].Name);
            mString: PString(FMemberList[i].PValue)^ :=
              jsonObj.getString(FMemberList[i].Name);
            mDouble: PDouble(FMemberList[i].PValue)^ :=
              jsonObj.getDouble(FMemberList[i].Name);
            mObj: begin
                    tmp := TJSONObject.create;
                    tmp := jsonObj.getJSONObject(FMemberList[i].Name);
                    PTBaseResult(FMemberList[i].PValue)^.Load(tmp);
                  end;
          end;
        end;
      end;
    end;
    
    { TBaseResultCollection }
    
    function TBaseResultCollection.GetItems(Index: Integer): TBaseResult;
    begin
      Result := TBaseResult(inherited GetItem(Index));
    end;
    
    procedure TBaseResultCollection.LoadCollection(var jsonObj: TJSONArray);
    var
      i: Integer;
      tmp: TJSONObject;
    begin
      Clear;
      for i := 0 to jsonObj.length - 1 do
      begin
          Self.Add(TBaseResult.Create);
          tmp :=  TJSONObject.create;
          tmp := jsonObj.getJSONObject(i);
          TBaseResult(Self.Last).Load(tmp);
      end;
    end;
    
    procedure TBaseResultCollection.SetItems(Index: Integer; Value: TBaseResult);
    begin
     inherited SetItem(Index, Value);
    end;
    
    { TCounters }
    
    constructor TCounters.Create;
    begin
      AddMember('albums', mInteger, @Self.FAlbums);
      AddMember('videos', mInteger, @Self.FVideos);
      AddMember('audios', mInteger, @Self.FAudios);
      AddMember('notes', mInteger, @Self.FNotes);
      AddMember('friends', mInteger, @Self.FFriends);
      AddMember('groups', mInteger, @Self.FGroups);
      AddMember('online_friends', mInteger, @Self.FOnlineFriends);
      AddMember('mutual_friends', mInteger, @Self.FMutualFriends);
      AddMember('user_videos', mInteger, @Self.FUserVideos);
      AddMember('followers', mInteger, @Self.FFollowers);
    end;
    
    { TUserInfo }
    
    constructor TUserInfo.Create;
    begin
      AddMember('uid', mString, @Self.FUid);
      AddMember('first_name', mString, @Self.FFirstName);
      AddMember('last_name', mString, @Self.FLastName);
      AddMember('nickname', mString, @Self.FNickname);
      AddMember('screen_name', mString, @Self.FScreenName);
      AddMember('sex', mString, @Self.FSex);
      AddMember('bdate', mString, @Self.FBdate);
      AddMember('birthdate', mString, @Self.FBirthdate);
      AddMember('city', mString, @Self.FCity);
      AddMember('country', mString, @Self.FCountry);
      AddMember('timezone', mString, @Self.FTimezone);
      AddMember('photo', mString, @Self.FPhoto);
      AddMember('photo_medium', mString, @Self.FPhotoMedium);
      AddMember('photo_big', mString, @Self.FPhotoBig);
      AddMember('has_mobile', mBool, @Self.FHasMobile);
      AddMember('rate', mString, @Self.FRate);
      AddMember('mobile_phone', mString, @Self.FMobilePhone);
      AddMember('home_phone', mString, @Self.FHomePhone);
      AddMember('university', mInteger, @Self.FUniversity);
      AddMember('university_name', mString, @Self.FUniversityName);
      AddMember('faculty', mInteger, @Self.FFaculty);
      AddMember('faculty_name', mString, @Self.FFacultyName);
      AddMember('graduation', mInteger, @Self.FGraduation);
      AddMember('online', mString, @Self.FOnline);
      AddMember('counters', mString, @Self.FCounters);
    end;
    
     
  10. khvdaiver

    khvdaiver New Member

    Joined:
    29 Oct 2012
    Messages:
    79
    Likes Received:
    2
    Reputations:
    0
    а где обобщения? м? где же они?
     
  11. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Ну покажи мне где тут еще можно обобщение сделать?!
     
  12. khvdaiver

    khvdaiver New Member

    Joined:
    29 Oct 2012
    Messages:
    79
    Likes Received:
    2
    Reputations:
    0
    а, значит без обобщений живем?
     
  13. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Ты мне в коде покажешь где можно сделать его, или будешь прост пи**деть без дела и аргументов:?