Перейти к основному содержимому

Файлы исходного кода

Всем

Файлы исходного кода

.cs — файл исходного кода на языке C#

Файл с расширением .cs содержит текст программы на языке C# (произносится «си шарп»), разработанном Microsoft в начале 2000-х как часть платформы .NET. Такой файл организован в виде последовательности инструкций, сгруппированных в классы, методы, свойства и другие конструкции. Код в .cs-файле не выполняется напрямую — он передаётся компилятору, который преобразует его в промежуточный язык (IL), а затем среда выполнения .NET превращает его в машинные команды. Файлы .cs используются при создании настольных приложений (Windows Forms, WPF), веб-сервисов (ASP.NET), игр (Unity) и библиотек.

using Система;
using Система.Threading.Задачи;

public record User(int Id, string Name);

public class Program
{
public static async Task Main()
{
var user = new User(1, "Timur");

Console.WriteLine($"ID: {user.Id}, Имя: {user.Name}");

await ProcessDataAsync();
}

private static async Task ProcessDataAsync()
{
await Task.Delay(100);
Console.WriteLine("Обработка завершена.");
}
}

.java — файл исходного кода на языке Java

Файл с расширением .java содержит текст программы на языке Java, созданном компанией Sun Microsystems в середине 1990-х. Каждый такой файл, как правило, представляет один класс — основную строительную единицу программы. Имя файла должно совпадать с именем публичного класса внутри него (например, HelloWorld.java содержит public class HelloWorld). Код в .java компилируется в байт-код (.class), который выполняется виртуальной машиной Java (JVM), обеспечивающей кроссплатформенность: один и тот же байт-код работает на Windows, Linux, macOS без перекомпиляции. .java-файлы применяются в корпоративных системах, мобильной разработке (Android — до Kotlin), серверных приложениях и встраиваемых решениях.

import java.util.List;
import java.util.stream.Collectors;

public record User(int id, String name) {}

public class Main {
public static void main(String[] args) {
List<User> users = List.of(
new User(1, "Timur"),
new User(2, "Anna")
);

// Фильтрация и маппинг через Stream API
var names = users.stream()
.filter(u -> u.id() > 1)
.map(User::name)
.collect(Collectors.toList());

System.out.println(names);
}
}

.py — файл исходного кода на языке Python

Файл с расширением .py содержит текст программы на языке Python — интерпретируемом языке общего назначения, разработанном Гвидо ван Россумом и впервые выпущенном в 1991 году. Такой файл состоит из последовательных строк кода, где структура определяется отступами (пробелами или табуляцией), а не фигурными скобками или ключевыми словами. .py-файлы могут исполняться напрямую интерпретатором Python без предварительной компиляции, что упрощает запуск и отладку. Язык поддерживает объектно-ориентированное, функциональное и процедурное программирование. Файлы .py используются в автоматизации, анализе данных, веб-разработке (Django, Flask), машинном обучении, скриптинге и научных расчётах.

from dataclasses import dataclass
from typing import Optional

@dataclass
class User:
id: int
name: str
role: Optional[str] = None

def get_user_info(user: User) -> str:
return f"Пользователь {user.name} (ID: {user.id}), роль: {user.role or 'Гость'}"

if __name__ == "__main__":
user = User(id=1, name="Timur", role="Developer")
print(get_user_info(user))

# Контекстный менеджер для работы с файлом
with open("log.txt", "w", encoding="utf-8") as f:
f.write("Запись в файл выполнена.\n")

.sql — файл скрипта на языке SQL

Файл с расширением .sql содержит последовательность инструкций на языке SQL (Structured Query Language) — языке управления реляционными базами данных. Такой файл может включать команды создания структуры (CREATE TABLE), вставки данных (INSERT INTO), выборки (SELECT), обновления (UPDATE), удаления (DELETE), а также определения индексов, представлений, хранимых процедур и прав доступа. .sql-файлы не выполняются сами по себе — их отправляют в СУБД (например, PostgreSQL, MySQL, MS SQL Server) через клиентское приложение, утилиту командной строки или интегрированную среду разработки. Такие файлы применяются при развёртывании баз данных, миграции схем, резервном копировании, тестировании запросов и документировании изменений.

-- Создание таблицы пользователей
CREATE TABLE IF NOT EXISTS users (
id SERIAL PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Вставка данных
INSERT INTO users (username, email)
VALUES ('timur_dev', 'timur@example.com');

-- Выборка с фильтрацией и сортировкой
SELECT id, username, email
FROM users
WHERE created_at > NOW() - INTERVAL '1 day'
ORDER BY id DESC;

.c — файл на языке C

Файл с расширением .c содержит текст программы на языке C — процедурном языке системного программирования, разработанном Деннисом Ритчи в 1970-х в Bell Labs. Такой файл состоит из функций, объявлений переменных, препроцессорных директив (#include, #define) и структур. Код в .c компилируется напрямую в машинные инструкции с помощью компиляторов (например, GCC или Clang), что обеспечивает высокую производительность и близость к аппаратному уровню. Файлы .c используются при разработке операционных систем, драйверов, встраиваемых устройств, компиляторов и библиотек низкого уровня.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct {
int id;
char *name;
} User;

User* create_user(int id, const char *name) {
User *user = (User*)malloc(sizeof(User));
if (!user) return NULL;

user->id = id;
user->name = (char*)malloc(strlen(name) + 1);
if (!user->name) { free(user); return NULL; }

strcpy(user->name, name);
return user;
}

void destroy_user(User *user) {
if (user) {
free(user->name);
free(user);
}
}

int main() {
User *u = create_user(1, "Timur");
if (u) {
printf("User %d: %s\n", u->id, u->name);
destroy_user(u);
}
return 0;
}

.cpp, .cc, .cxx — файл на языке C++

Файл с расширением .cpp (наиболее распространённое) содержит текст программы на языке C++ — расширении C, добавившем поддержку объектно-ориентированного и обобщённого программирования. Такие файлы включают классы, шаблоны, перегрузку операторов, исключения и работу с умными указателями. C++ компилируется в нативный код и применяется там, где важны скорость и контроль над памятью: 3D-движки (Unreal Engine), высокочастотный трейдинг, игровые клиенты, программное обеспечение для CAD и научные симуляции.

#include <iostream>
#include <memory>
#include <string>

struct User {
int id;
std::string name;
};

class UserService {
public:
static std::unique_ptr<User> create(int id, const std::string& name) {
auto user = std::make_unique<User>();
user->id = id;
user->name = name;
return user;
}
};

int main() {
auto user = UserService::create(1, "Timur");

if (user) {
std::cout << "ID: " << user->id << ", Name: " << user->name << std::endl;
}

return 0;
}

.ts — файл на языке TypeScript

Файл с расширением .ts содержит код на языке TypeScript — надмножестве JavaScript, добавившем статическую типизацию, интерфейсы, дженерики и модульную систему. Такой файл проходит этап компиляции в чистый JavaScript (обычно в .js), что позволяет выявлять ошибки на этапе разработки, а не во время выполнения. TypeScript широко применяется в крупных веб-приложениях (Angular, React, Vue), на стороне клиента и сервера (Node.js), а также в мобильной и десктопной разработке (React Native, Electron).

interface User {
id: number;
name: string;
role?: string;
}

function processUser<T extends User>(user: T): string {
const role = user.role ?? 'Guest';
return `User ${user.name} (${role})`;
}

const user: User = { id: 1, name: "Timur", role: "Admin" };
console.log(processUser(user));

.kt — файл на языке Kotlin

Файл с расширением .kt содержит код на языке Kotlin — современном языке, разработанном JetBrains и официально поддерживаемом Google как основной для Android-разработки. Такой файл сочетает лаконичность синтаксиса, безопасность по null-значениям, расширения функций и полную совместимость с Java-библиотеками. Kotlin компилируется в байт-код JVM (для Android и сервера), JavaScript (для фронтенда) или нативный код (для iOS и встраиваемых систем). Применяется в мобильных, веб- и корпоративных приложениях.

Данные class User(val id: Int, val name: String, val role: String? = null)

fun User.getFullInfo(): String {
return "User $name (ID: $id), Role: ${role ?: 'Guest'}"
}

fun main() {
val user = User(1, "Timur", "Developer")
println(user.getFullInfo())

val anonymous = User(2, "Guest")
println(anonymous.getFullInfo())
}

.go — файл на языке Go

Файл с расширением .go содержит код на языке Go (также известном как Golang), созданном инженерами Google в 2009 году. Такой файл организован в пакеты, функции, структуры и интерфейсы, с акцентом на простоту, конкурентность (горутины и каналы) и быструю компиляцию. Go компилируется в один автономный исполняемый файл без внешних зависимостей. Используется в облачных сервисах (Docker, Kubernetes), микросервисах, CLI-утилитах и высоконагруженных backend-системах.

package main

import (
"fmt"
"time"
)

type User struct {
ID int
Name string
Role string
}

func (u User) Info() string {
if u.Role == "" {
return fmt.Sprintf("User %s (ID: %d)", u.Name, u.ID)
}
return fmt.Sprintf("User %s (ID: %d), Role: %s", u.Name, u.ID, u.Role)
}

func processUser(u User) {
time.Sleep(100 * time.Millisecond)
fmt.Println(u.Info())
}

func main() {
user := User{ID: 1, Name: "Timur", Role: "Dev"}

go processUser(user)

fmt.Println("Ожидание завершения...")
time.Sleep(200 * time.Millisecond)
}

.rs — файл на языке Rust

Файл с расширением .rs содержит код на языке Rust — языке системного программирования, разработанном Mozilla и сообществом. Такой файл гарантирует безопасность памяти без сборщика мусора благодаря системе владения (ownership), заимствования (borrowing) и времени жизни (lifetime). Rust компилируется в нативный код и обеспечивает производительность на уровне C/C++, но без классических ошибок — переполнения буфера, use-after-free, гонок данных. Применяется в веб-движках (Servo), операционных системах, криптографических библиотеках, блокчейнах и инструментах разработки (например, ripgrep, deno).

#[derive(Debug)]
enum UserRole {
Admin,
User,
Guest,
}

#[derive(Debug)]
struct User {
id: i32,
name: String,
role: UserRole,
}

impl User {
fn info(&self) -> String {
let role_str = match self.role {
UserRole::Admin => "Admin",
UserRole::User => "User",
UserRole::Guest => "Guest",
};
format!("User {}: {}, Role: {}", self.id, self.name, role_str)
}
}

fn main() {
let user = User {
id: 1,
name: String::from("Timur"),
role: UserRole::Admin,
};

println!("{}", user.info());
}

.rb — файл на языке Ruby

Файл с расширением .rb содержит скрипт на языке Ruby — динамическом, объектно-ориентированном языке, разработанном Юкихиро Мацумото в середине 1990-х. Ruby делает упор на выразительность и удобство программиста: «всё есть объект», блоки кода передаются как замыкания, синтаксис минималистичен. Такие файлы исполняются интерпретатором Ruby. Широко применялись в веб-разработке (фреймворк Ruby on Rails), автоматизации и прототипировании.

class User
attr_reader :id, :name, :role

def initialize(id, name, role = nil)
@id = id
@name = name
@role = role || :guest
end

def info
"User #{@name} (ID: #{@id}), Role: #{@role}"
end
end

users = [User.new(1, "Timur", :admin), User.new(2, "Anna")]

users.each do |user|
puts user.info
end

.swift — файл на языке Swift

Файл с расширением .swift содержит код на языке Swift — современном языке от Apple, выпущенном в 2014 году как замена Objective-C. Такой файл включает типы, протоколы, расширения, опционалы и мощную систему обработки ошибок. Swift компилируется в оптимизированный нативный код и интегрируется с нативными API macOS и iOS. Используется для разработки приложений под Apple-экосистему — iPhone, iPad, Mac, Apple Watch и Apple TV.

enum UserRole {
case admin
case user
case guest
}

struct User {
let id: Int
let name: String
let role: UserRole

func info() -> String {
let roleName: String
switch role {
case .admin: roleName = "Admin"
case .user: roleName = "User"
case .guest: roleName = "Guest"
}
return "User \(name) (ID: \(id)), Role: \(roleName)"
}
}

let users = [
User(id: 1, name: "Timur", role: .admin),
User(id: 2, name: "Anna", role: .user)
]

users.forEach { print($0.info()) }

.sh — скрипт оболочки Unix/Linux

Файл с расширением .sh содержит последовательность команд для командной оболочки (например, Bash или Zsh). Такой файл может запускать программы, манипулировать файлами, читать переменные окружения, ветвиться по условиям и вызывать другие скрипты. Используется для автоматизации развёртывания, резервного копирования, сборки проектов и настройки окружения в Linux/macOS.

#!/bin/bash

# Проверка существования переменной окружения
if [ -z "$PROJECT_NAME" ]; then
echo "Ошибка: Переменная PROJECT_NAME не задана."
exit 1
fi

echo "Запуск сборки проекта: $PROJECT_NAME..."

# Цикл по файлам
for file in src/*.js; do
if [ -f "$file" ]; then
echo "Обработка: $file"
# Имитация компиляции или линтинга
# eslint "$file" --fix || true
fi
done

# Вывод даты и времени
echo "Сборка завершена в $(date '+%Y-%m-%d %H:%M:%S')"

.ps1 — скрипт PowerShell

Файл с расширением .ps1 содержит команды языка PowerShell — объектно-ориентированной оболочки и языка сценариев от Microsoft. В отличие от текстовых утилит Unix, PowerShell оперирует не строками, а объектами: каждый результат команды — это структура с полями и методами. Такие скрипты применяются для администрирования Windows, управления Active Directory, настройки реестра, развёртывания через Desired State Configuration (DSC).

# Скрипт PowerShell
param(
[Parameter(Mandatory=$true)]
[string]$ProjectName
)

Write-Host "Запуск сборки проекта: $ProjectName" -ForegroundColor Cyan

# Получение списка файлов (объекты)
$files = Get-ChildItem -Path "src" -Filter "*.ts" -ErrorAction SilentlyContinue

if ($files.Count -eq 0) {
Write-Warning "Файлы .ts не найдены в директории src."
} else {
foreach ($file in $files) {
Write-Host "Анализ файла: $($file.FullName)"

# Чтение содержимого как строки
$content = Get-Content -Path $file.FullName -Raw
if ($content.Length -gt 0) {
Write-Host " -> Файл не пуст. Длина: $($content.Length) символов."
}
}
}

# Запись результата в лог
$timestamp = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
$logMessage = "[$timestamp] Сборка '$ProjectName' завершена."
Add-Content -Path "build.log" -Value $logMessage

.bat, .cmd — пакетный скрипт Windows

Файл с расширением .bat или .cmd содержит набор команд для интерпретатора командной строки Windows (cmd.exe). Такие файлы запускают программы, управляют файлами и папками, устанавливают переменные и вызывают другие скрипты. .bat унаследован от MS-DOS, .cmd — от Windows NT; различия минимальны, но .cmd считается более современным. Применяется в автоматизации задач на Windows без установки дополнительных сред.

@echo off
setlocal enabledelayedexpansion

REM Установка имени проекта
set PROJECT_NAME=UniverseIT

echo ========================================
echo Запуск сборки: %PROJECT_NAME%
echo ========================================

REM Проверка наличия папки
if not exist "src" (
echo Ошибка: Папка 'src' не найдена.
exit /b 1
)

REM Цикл по файлам (через FOR)
for %%f in (src\*.js) do (
echo Обработка: %%f
REM Здесь могла бы быть команда вызова компилятора
rem node build.js "%%f"
)

echo.
echo Сборка завершена успешно!
endlocal

.graphql

Файл с расширением .graphql содержит описание API в языке GraphQL: типы объектов, поля, аргументы, запросы, мутации и подписки. Такой файл может быть как схемой сервера (что умеет API), так и клиентским запросом (что хочет получить клиент). GraphQL позволяет запрашивать только нужные поля, избегая избыточной передачи данных. Применяется в современных веб- и мобильных приложениях (Apollo, Relay).

Запрос (Query):

query GetUserDetails($id: ID!) {
user(id: $id) {
id
name
email
role
posts(first: 5) {
title
createdAt
}
}
}

Мутация (Mutation):

mutation UpdateUser($input: UserInput!) {
updateUser(input: $input) {
id
name
success
}
}

Определение типа (Schema Fragment):

input UserInput {
id: ID!
name: String
email: String
role: RoleEnum
}

enum RoleEnum {
ADMIN
USER
GUEST
}

См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).