Çözüldü Cosmos ile işletim sistemi yapmak

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Spla.shy

Picopat
Katılım
21 Temmuz 2023
Mesajlar
44
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Cosmos ile işletim sistemi yapmaya çalışan oldu mu? Ben daha bugün başladım. Pek bir bilgim yok ama yapay zeka yardımı ile yapmaya çalıştım. Fakat dosyalama sisteminde yapay zekanın önerdiği kodlar çalışmadı. Kendimde düzenleyemedim. Cosmos kodlarını bir türlü derleyemedim. Ve dahası grafik sürücüsü de yapmam gerekiyor. Bu konulara ilgisi olan, bu konularda bilgili birileri bana yardım edebilir mi?


Yapay zekanın kodları:
C#:
using System;
using System.Collections.Generic;
using Cosmos.System.Filesystem;

namespace MyOS
{
    public static class FileSystem
    {
        private static Dictionary<string, string> files = new Dictionary<string, string>();
        private static readonly string DiskFileName = "MyOSDisk.txt";

        public static void Initialize()
        {
            if (File.Exists(DiskFileName))
            {
                string[] lines = File.ReadAllLines(DiskFileName);
                foreach (string line in lines)
                {
                    int separatorIndex = line.IndexOf(":");
                    if (separatorIndex != -1)
                    {
                        string filePath = line.Substring(0, separatorIndex);
                        string fileContent = line.Substring(separatorIndex + 1);
                        files.Add(filePath, fileContent);
                    }
                }
            }
        }

        public static void CreateFile(string filePath, string content)
        {
            files.Add(filePath, content);
            SaveToDisk(filePath, content);
        }

        public static bool FileExists(string filePath)
        {
            return files.ContainsKey(filePath);
        }

        public static string ReadFile(string filePath)
        {
            if (Cache.IsCached(filePath))
            {
                return Cache.GetDataFromCache(filePath);
            }

            if (files.TryGetValue(filePath, out string content))
            {
                Cache.AddToCache(filePath, content);
                return content;
            }

            return "File not found.";
        }

        public static void WriteFile(string filePath, string newContent)
        {
            if (FileExists(filePath))
            {
                files[filePath] = newContent;
                Cache.AddToCache(filePath, newContent);
                SaveToDisk(filePath, newContent);
            }
        }

        private static void SaveToDisk(string filePath, string content)
        {
            if (File.Exists(DiskFileName))
            {
                string fileData = filePath + ":" + content;
                File.AppendAllText(DiskFileName, fileData + Environment.NewLine);
            }
            else
            {
                File.WriteAllText(DiskFileName, filePath + ":" + content + Environment.NewLine);
            }
        }
    }
}
 
Çözüm
Merhabalar, bir dosya sistemi eklemek için BeforeRun() fonksiyonunun içine
Kod:
Sys.FileSystem.CosmosVFS fs = new Cosmos.FileSystem.CosmosVFS();
ve
Kod:
Sys.FileSystem.VFS.VFSManager.RegisterVFS(fs);
Kodlarını eklemeniz gerekmektedir.
Kod:
var available_space = fs.GetAvailableFreeSpace(@"0:\");
Console.WriteLine("Kullanilabilir alan: " + available_space);
Komutu ile diskteki kullanılabilir alanı;
Kod:
var fs_type = fs.GetFileSystemType(@"0:\");
Console.WriteLine("Dosya sistemi tipi: " + fs_type);
Komutu ile dosya sistemi tipini (muhtemelen FAT32) görebilirsiniz. Ayrıca,
Kod:
try
{
    Directory.Create(@"0:\testing\");
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Komutu ile bir dizin oluşturabilir.
Kod:
try
{
    var file_stream = File.Create(@"0:\testing.txt");
}
catch (Exception e)
{
    Console.WriteLine(e.ToString());
}
Komutuyla dosya oluşturabilir (dizini değiştirebilirsiniz) ve,
Kod:
try
{
    File.Delete(@"0:\testing.txt");
    Directory.Delete(@"0:\testing\");
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Komutu ile bir dizini veya dosyayı silebilirsiniz. Bu arada gördüğüm kadarıyla yeni bir Cosmos çözümü oluşturduğunuzda kendiliğinden gelen foksiyonları (Run(), BeforeRun() vs.) silmişsiniz. Verdiğim kodları yeni bir proje oluşturup yazın ve fonksiyonların içindeki kendiliğinden gelen kodlar hariç hiçbir şeyi silmeyin. Grafik konusu içinse Cosmos üzerinden grafik eklemek gerçekten çok zor herkesin yapabileceği bir şey değil ki ben de yapamıyorum 😂 O yüzden ilk önce konsol modunda alıştırma yapmanızı öneririm. Umarım yardımcı olmuşumdur. :)
Merhabalar, bir dosya sistemi eklemek için BeforeRun() fonksiyonunun içine
Kod:
Sys.FileSystem.CosmosVFS fs = new Cosmos.FileSystem.CosmosVFS();
ve
Kod:
Sys.FileSystem.VFS.VFSManager.RegisterVFS(fs);
Kodlarını eklemeniz gerekmektedir.
Kod:
var available_space = fs.GetAvailableFreeSpace(@"0:\");
Console.WriteLine("Kullanilabilir alan: " + available_space);
Komutu ile diskteki kullanılabilir alanı;
Kod:
var fs_type = fs.GetFileSystemType(@"0:\");
Console.WriteLine("Dosya sistemi tipi: " + fs_type);
Komutu ile dosya sistemi tipini (muhtemelen FAT32) görebilirsiniz. Ayrıca,
Kod:
try
{
    Directory.Create(@"0:\testing\");
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Komutu ile bir dizin oluşturabilir.
Kod:
try
{
    var file_stream = File.Create(@"0:\testing.txt");
}
catch (Exception e)
{
    Console.WriteLine(e.ToString());
}
Komutuyla dosya oluşturabilir (dizini değiştirebilirsiniz) ve,
Kod:
try
{
    File.Delete(@"0:\testing.txt");
    Directory.Delete(@"0:\testing\");
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Komutu ile bir dizini veya dosyayı silebilirsiniz. Bu arada gördüğüm kadarıyla yeni bir Cosmos çözümü oluşturduğunuzda kendiliğinden gelen foksiyonları (Run(), BeforeRun() vs.) silmişsiniz. Verdiğim kodları yeni bir proje oluşturup yazın ve fonksiyonların içindeki kendiliğinden gelen kodlar hariç hiçbir şeyi silmeyin. Grafik konusu içinse Cosmos üzerinden grafik eklemek gerçekten çok zor herkesin yapabileceği bir şey değil ki ben de yapamıyorum 😂 O yüzden ilk önce konsol modunda alıştırma yapmanızı öneririm. Umarım yardımcı olmuşumdur. :)
 
Son düzenleyen: Moderatör:
Çözüm
Merhabalar, bir dosya sistemi eklemek için BeforeRun() fonksiyonunun içine
Kod:
Sys.FileSystem.CosmosVFS fs = new Cosmos.FileSystem.CosmosVFS();
ve
Kod:
Sys.FileSystem.VFS.VFSManager.RegisterVFS(fs);
Kodlarını eklemeniz gerekmektedir.
Kod:
var available_space = fs.GetAvailableFreeSpace(@"0:\");
Console.WriteLine("Kullanilabilir alan: " + available_space);
Komutu ile diskteki kullanılabilir alanı;
Kod:
var fs_type = fs.GetFileSystemType(@"0:\");
Console.WriteLine("Dosya sistemi tipi: " + fs_type);
Komutu ile dosya sistemi tipini (muhtemelen FAT32) görebilirsiniz. Ayrıca,
Kod:
try
{
    Directory.Create(@"0:\testing\");
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Komutu ile bir dizin oluşturabilir.
Kod:
try
{
    var file_stream = File.Create(@"0:\testing.txt");
}
catch (Exception e)
{
    Console.WriteLine(e.ToString());
}
Komutuyla dosya oluşturabilir (dizini değiştirebilirsiniz) ve,
Kod:
try
{
    File.Delete(@"0:\testing.txt");
    Directory.Delete(@"0:\testing\");
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Komutu ile bir dizini veya dosyayı silebilirsiniz. Bu arada gördüğüm kadarıyla yeni bir Cosmos çözümü oluşturduğunuzda kendiliğinden gelen foksiyonları (Run(), BeforeRun() vs.) silmişsiniz. Verdiğim kodları yeni bir proje oluşturup yazın ve fonksiyonların içindeki kendiliğinden gelen kodlar hariç hiçbir şeyi silmeyin. Grafik konusu içinse Cosmos üzerinden grafik eklemek gerçekten çok zor herkesin yapabileceği bir şey değil ki ben de yapamıyorum 😂 O yüzden ilk önce konsol modunda alıştırma yapmanızı öneririm. Umarım yardımcı olmuşumdur. :)
Aslında teknik olarak BeforeRun() ve Run() komutlarını silmedim. Ben FileSystem adı altında public bir class oluşturmuştum. Benim hatam yapay zekaya fazla güvenmek oldu. Verdiğiniz kodlar için teşekkür ederim. Umarım işletim sisteminizde sizde başarılı olursunuz. Benim oluşturduğum kodlarıda vereyim ihtiyacı olan olur.
 
Aslında teknik olarak BeforeRun() ve Run() komutlarını silmedim. Ben FileSystem adı altında public bir class oluşturmuştum. Benim hatam yapay zekaya fazla güvenmek oldu. Verdiğiniz kodlar için teşekkür ederim. Umarım işletim sisteminizde sizde başarılı olursunuz. Benim oluşturduğum kodlarıda vereyim ihtiyacı olan olur.
Cosmos ile işletim sistemi yapmanı tavsiye etmiyorum, osdev wikisini takip ederek C ile yapman daha yararlı.
 
Kernel'in içine
CosmosVFS VFS;
BeforeRun() dan önce yazıyoruz.
Sonra BeforeRun() içerisine
this.VFS = new CosmosVFS(); Sys.FileSystem.VFS.VFSManager.RegisterVFS(VFS);
bu kodları yazıyoruz.

Ardından proje içerisinde "FileSystem" diye bir klasör oluşturun. Burada düzenli olmak isterseniz "FileSystem" İçerisinde "API" diye bir klasör daha oluşturun. Daha da düzenli olmak için "directory" ve "file" olarak farklı klasörlerle de ayırabilirsiniz.

Burada yeni Class'lar oluşturmanız gerekli. Ben burada kendi oluşturduklarımı söylemeyeceğim ama her bir verdiğim kodu farklı bir Class içerisine yazarsanız daha iyi olur.

Her şeyden önce Class'ların içinde yapmanız gereken değişiklikler var.

using Sys = Cosmos.System;
bu kodu sınıf başvurularına ekleyin.
public class ClassName { }
Olarak Class'ları güncelleyin. "ClassName" yazan yeri kendiniz değiştirebilirsiniz.

----------------------------------------------------------------------------------------------------------------
Klasör oluşturma
public static string CreateDirectory(string DirectoryPath) { if (!Sys.FileSystem.VFS.VFSManager.DirectoryExists(DirectoryPath)) { int index = 0; foreach (char Char in DirectoryPath) { index = index + 1; if (Char == '\\') { if (!Sys.FileSystem.VFS.VFSManager.DirectoryExists(DirectoryPath.Substring(0, index))) { if (DirectoryPath.Substring(1, index) != @":\") { try { Sys.FileSystem.VFS.VFSManager.CreateDirectory(DirectoryPath.Substring(0, index)); } catch (Exception ex) { return $"Exception : {ex.Message}"; } } } } } return $"Klasör oluşturuldu : {DirectoryPath}"; } else { return "Exception : Directory already exist"; } }

----------------------------------------------------------------------------------------------------------------
Klasör silme
public static string DelDir(string path, bool recursive) { string Return = "Unknow Error"; try { if (VFSManager.DirectoryExists(path)) { VFSManager.DeleteDirectory(path, recursive); Return = $"Directory {path} was successfully deleted."; } else { Return = $"Directory '{path}' not found!"; } } catch (Exception ex) { Return = "Exception : " + ex.Message; } return Return; }

----------------------------------------------------------------------------------------------------------------
klasörün içeriğini listeleme
public static string dir(string path) { string Return = "Exception : Unknow Error"; try { if (VFSManager.DirectoryExists(path)) { var directoryListing = VFSManager.GetDirectoryListing(path); Return = Return + $"Directory of {path}\n"; foreach (var entry in directoryListing) { if (entry.mEntryType is DirectoryEntryTypeEnum.Directory) { Return = Return + $"[Directory] {entry.mName}"; } else if (entry.mEntryType is DirectoryEntryTypeEnum.File) { Return = Return + $"[{entry.mEntryType}]{entry.mName}"; } else { Return = Return + $"[Unknow]{entry.mName}"; } } } else { Return = $"Directory '{path}' not found!"; } } catch (Exception ex) { Return = "Exception : "+ex.Message; } return Return; }

! : using yönergelerini unutmayın
using Cosmos.System.FileSystem.Listing; using Cosmos.System.FileSystem.VFS;

----------------------------------------------------------------------------------------------------------------

klasör taşıma
public static string MoveFolder(string sourcePath, string destinationPath) { string result = "Exception: Unknow Error"; try { if (VFSManager.DirectoryExists(sourcePath)) { if (!VFSManager.DirectoryExists(destinationPath)) { // Klasörü taşıma işlemi VFSManager.CreateDirectory(destinationPath); var sourceDirectoryListing = VFSManager.GetDirectoryListing(sourcePath); foreach (var entry in sourceDirectoryListing) { if (entry.mEntryType is DirectoryEntryTypeEnum.Directory) { string newDestinationPath = System.IO.Path.Combine(destinationPath, entry.mName); MoveFolder(entry.mFullPath, newDestinationPath); } else if (entry.mEntryType is DirectoryEntryTypeEnum.File) { string destinationFilePath = System.IO.Path.Combine(destinationPath, entry.mName); var sourceStream = VFSManager.GetFile(entry.mFullPath).GetFileStream(); var destinationStream = VFSManager.CreateFile(destinationFilePath).GetFileStream(); byte[] buffer = new byte[8192]; // 8 KB buffer boyutu int bytesRead; do { bytesRead = sourceStream.Read(buffer, 0, buffer.Length); destinationStream.Write(buffer, 0, bytesRead); } while (bytesRead > 0); sourceStream.Close(); destinationStream.Close(); } } // Kaynak klasörü sil VFSManager.DeleteDirectory(sourcePath, true); result = $"Folder moved successfully! {sourcePath} --> {destinationPath}"; } else { result = "Destination folder already exists!"; } } else { result = $"Source directory '{sourcePath}' not found!"; } } catch (Exception ex) { result = "Exception: " + ex.Message; } return result; }

using yönergeleri ise şunlar

using Cosmos.System.FileSystem.Listing; using Cosmos.System.FileSystem.VFS;


----------------------------------------------------------------------------------------------------------------

klasör arama

public static List<string> SearchFolders(string directoryPath, string keyword) { List<string> resultFolders = new List<string>(); resultFolders.Add("Exception : Unknow Error"); try { resultFolders.Clear(); if (VFSManager.DirectoryExists(directoryPath)) { var directoryListing = VFSManager.GetDirectoryListing(directoryPath); foreach (var entry in directoryListing) { if (entry.mEntryType is DirectoryEntryTypeEnum.Directory && entry.mName.Contains(keyword)) { resultFolders.Add(entry.mName); } resultFolders.AddRange(SearchFolders(entry.mFullPath, keyword)); } } else { resultFolders.Clear(); resultFolders.Add($"Directory '{directoryPath}' not found!"); } } catch (Exception ex) { resultFolders.Clear(); resultFolders.Add("Exception: " + ex.Message); } return resultFolders; }

using yönergeleri
using Cosmos.System.FileSystem.Listing; using Cosmos.System.FileSystem.VFS;

----------------------------------------------------------------------------------------------------------------
klasör kopyalama
public static string CopyFolder(string sourcePath, string destinationPath) { string Return = "Exception : Unknow Error"; try { if (VFSManager.DirectoryExists(sourcePath)) { if (!VFSManager.DirectoryExists(destinationPath)) { VFSManager.CreateDirectory(destinationPath); } else { int Directory = 1; while (VFSManager.DirectoryExists(destinationPath+" ("+Directory+")")) { Directory++; } VFSManager.CreateDirectory(destinationPath + " (" + Directory + ")"); } var sourceDirectoryListing = VFSManager.GetDirectoryListing(sourcePath); foreach (var entry in sourceDirectoryListing) { if (entry.mEntryType is DirectoryEntryTypeEnum.Directory) { string newDestinationPath = System.IO.Path.Combine(destinationPath, entry.mName); CopyFolder(entry.mFullPath, newDestinationPath); } else if (entry.mEntryType is DirectoryEntryTypeEnum.File) { string destinationFilePath = System.IO.Path.Combine(destinationPath, entry.mName); var sourceStream = VFSManager.GetFile(entry.mFullPath).GetFileStream(); var destinationStream = VFSManager.CreateFile(destinationFilePath).GetFileStream(); byte[] buffer = new byte[entry.mSize]; int bytesRead; do { bytesRead = sourceStream.Read(buffer, 0, buffer.Length); destinationStream.Write(buffer, 0, bytesRead); } while (bytesRead > 0); sourceStream.Close(); destinationStream.Close(); } } Return = $"Destination folder copied successfully! {sourcePath} ---> {destinationPath}"; } else { Return = $"Source directory '{sourcePath}' not found!"; } } catch (Exception ex) { Return = "Exception : " + ex.Message; } return Return; }

using Yönergeleri
using Cosmos.System.FileSystem.VFS; using Cosmos.System.FileSystem.Listing;

-----------------------------------------------------------------------------------------------------------------
dosya kopyalama
public static string copyFile(string sourcePath, string destinationPath) { string Return = "Exception : Unknow Error"; try { if (!VFSManager.FileExists(sourcePath)) { Return = $"Source file '{sourcePath}' not found!"; } else { if (VFSManager.FileExists(destinationPath)) { Return = $"Destination file '{destinationPath}' already exists!"; } else { var sourceFile = VFSManager.GetFile(sourcePath); var destinationFile = VFSManager.CreateFile(destinationPath); byte[] buffer = new byte[sourceFile.mSize]; using (var sourceStream = sourceFile.GetFileStream()) using (var destinationStream = destinationFile.GetFileStream()) { int bytesRead = sourceStream.Read(buffer, 0, buffer.Length); destinationStream.Write(buffer, 0, bytesRead); } Return = $"File '{sourcePath}' successfully copied to '{destinationPath}'"; } } } catch (Exception ex) { Return = "Exception : " + ex.Message; } return Return; }

using yönergeleri
using Cosmos.System.FileSystem.VFS;

----------------------------------------------------------------------------------------------------------------
dosya oluşturma

public static string createFile(string filePath,string DirectoryPath) { if (!Sys.FileSystem.VFS.VFSManager.FileExists(filePath)) { if (!Sys.FileSystem.VFS.VFSManager.DirectoryExists(DirectoryPath)) { int index=0; foreach(char Char in DirectoryPath) { index=index+1; if (Char == '\\') { if(!Sys.FileSystem.VFS.VFSManager.DirectoryExists(DirectoryPath.Substring(0, index))) { if(DirectoryPath.Substring(1, index)!=@":\") { CreateDir.CreateDirectory(DirectoryPath.Substring(0, index)); } } } } } try { Sys.FileSystem.VFS.VFSManager.CreateFile(filePath); return $"Dosya Oluşturuldu \\ {filePath}"; } catch (Exception ex) { return $"Exception : {ex.Message}"; } } else { return "Exception : File already exists"; } }

using yönergesi
using FileSystem.API_s.Dir;

----------------------------------------------------------------------------------------------------------------
dosya silme

public static string DelFile(string path) { string Return = "Exception : Unknow Error"; try { if (VFSManager.FileExists(path)) { VFSManager.DeleteFile(path); Return = $"File {path} was successfully deleted."; } else { Return = $"File '{path}' not found!"; } } catch (Exception ex) { Return = "Exception : " + ex.Message; } return Return; }

eksik using yönergeleri
using Cosmos.System.FileSystem.VFS;

----------------------------------------------------------------------------------------------------------------
dosya taşıma

public static string moveFile(string sourceFilePath, string destinationFilePath) { string result = "Exception: Unknow Error"; try { if (VFSManager.FileExists(sourceFilePath)) { if (!VFSManager.FileExists(destinationFilePath)) { // Dosyayı kopyala var sourceFile = VFSManager.GetFile(sourceFilePath); var destinationFile = VFSManager.CreateFile(destinationFilePath).GetFileStream(); byte[] buffer = new byte[sourceFile.mSize]; int bytesRead; do { bytesRead = sourceFile.GetFileStream().Read(buffer, 0, buffer.Length); destinationFile.Write(buffer, 0, bytesRead); } while (bytesRead > 0); sourceFile.GetFileStream().Close(); destinationFile.Close(); // Kaynak dosyayı sil VFSManager.DeleteFile(sourceFilePath); result = $"File moved successfully! {sourceFilePath} --> {destinationFilePath}"; } else { result = "Destination file already exists!"; } } else { result = $"Source file '{sourceFilePath}' not found!"; } } catch (Exception ex) { result = "Exception: " + ex.Message; } return result; }

using yönergeleri
using Cosmos.System.FileSystem.VFS;
----------------------------------------------------------------------------------------------------------------
dosyanın içeriğini okuma
public static string readFile(string filePath) { string content = string.Empty; try { if (VFSManager.FileExists(filePath)) { var file = VFSManager.GetFile(filePath); var fileStream = file.GetFileStream(); using (var reader = new System.IO.StreamReader(fileStream)) { content = reader.ReadToEnd(); } fileStream.Close(); } else { content = $"File '{filePath}' not found!"; } } catch (Exception ex) { content = "Exception: " + ex.Message; } return content; }

using yönergesi
using Cosmos.System.FileSystem.VFS;

----------------------------------------------------------------------------------------------------------------
dosyaya içerik yazma

public static string writeFile(string filePath, string content) { string Result = "Exception : Unknow Error"; try { var fileStream = VFSManager.CreateFile(filePath).GetFileStream(); using (var writer = new System.IO.StreamWriter(fileStream)) { writer.Write(content); } fileStream.Close(); Result = $"data has been successfully written into the file."; } catch (Exception ex) { Result = "Exception: " + ex.Message; } return Result; }

using yönergeleri
using Cosmos.System.FileSystem.VFS;
----------------------------------------------------------------------------------------------------------------
 
Aslında teknik olarak BeforeRun() ve Run() komutlarını silmedim. Ben FileSystem adı altında public bir class oluşturmuştum. Benim hatam yapay zekaya fazla güvenmek oldu. Verdiğiniz kodlar için teşekkür ederim. Umarım işletim sisteminizde sizde başarılı olursunuz. Benim oluşturduğum kodlarıda vereyim ihtiyacı olan olur.
Rica ederim :) Bu arada dosya sistemi pek stabil değil eften püften şeylerden hata verebiliyor, bir problem olursa yeni konu açarsınız yardımcı olmaya çalışırım. 😊
 
Rica ederim :) Bu arada dosya sistemi pek stabil değil eften püften şeylerden hata verebiliyor, bir problem olursa yeni konu açarsınız yardımcı olmaya çalışırım. 😊
bu açtığım konuya da bakar mısın? GUI'a geçeceğim grafiklerden önce bu CUI sürümünü yapmam lazım.
 
Yazdığım şeylere beğenmeme atıyorsunuz ama Cosmos adlı tool ile işletim sistemi yazmanızın size katkısı yok, en azından düz C ve Assembly ile kernel yazmak kadar yok. Tercih sizin ne diyeyim..
 
Yazdığım şeylere beğenmeme atıyorsunuz ama Cosmos adlı tool ile işletim sistemi yazmanızın size katkısı yok, en azından düz C ve Assembly ile kernel yazmak kadar yok. Tercih sizin ne diyeyim..
2'dir bana C öğrenmemi söylüyorsun. Ben hobi olarak yapıyorum yazılım işini. Cosmos Tool ile fazla ilerlenemeyeceğini de biliyorum. Ben WinForm'dan sıkıldığım için Cosmos ile uğraşıyorum. Ayrıca Cosmos ile anlamadığım şeyleri de anlamaya başladım. 15 yaşındaki birisi için gayet eğlenceli geçiyor.
 
2'dir bana C öğrenmemi söylüyorsun. Ben hobi olarak yapıyorum yazılım işini. Cosmos Tool ile fazla ilerlenemeyeceğini de biliyorum. Ben WinForm'dan sıkıldığım için Cosmos ile uğraşıyorum. Ayrıca Cosmos ile anlamadığım şeyleri de anlamaya başladım. 15 yaşındaki birisi için gayet eğlenceli geçiyor.
Peki siz bilirsiniz, en azından ne demek istediğimi anlamışsınız. Ayrıca ben sana spesifik bir dili öğrenmeni kastetmemiştim C öğren derken, sadece high level bir dil ile yapacağın OS'in size çok bir şey katmayacağını dile getirmeye çalışmıştım. Yaşınız umrumda değil. Kolay gelsin.
 

Technopat Haberler

Yeni konular

Geri
Yukarı