[ / / / / / / / / / / / / / ] [ dir / bbbb / gdp2083 / nofap / ordem / russian / startrek / strek / trap ][Options][ watchlist ]

/tech/ - Technology

You can now write text to your AI-generated image at https://aiproto.com It is currently free to use for Proto members.
Name
Email
Subject
Comment *
File
Select/drop/paste files here
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Expand all images

File (hide): a59b245f02b98cd⋯.jpg (14.42 KB, 370x245, 74:49, dotnet.jpg) (h) (u)

[–]

 No.797311>>797313 >>797315 >>797349 >>797460 >>797512 >>797676 >>797943 >>807264 >>807322 [Watch Thread][Show All Posts]

I am so sick of this.

>download useful looking program

>INSTALL DOTNET EVEN THOUGH YOUR VERSION IS ALREADY THE NEWEST ONE

what a bloated piece of garbage, why do people develop in C# instead of just using C++?

 No.797313>>801777

>>797311 (OP)

I absolutely abhor that you can't install every version of .net at once so you may not have the right dependency.


 No.797315>>797349

>>797311 (OP)

Because it's the Microsoft version of Java, and Pajeet LOVES Java and Java-like things. Pure OOP cancer as far as the eye can see. Bloated runtime envrionments for "cross platform compatibility".


 No.797323>>797326

C# is actually a very good language, despite what LARPers will say.

Unfortunately, everything else around it is Microsoft garbage.


 No.797326>>797328 >>797339 >>797349 >>798263 >>798292 >>800850

>>797323

Any reason to use it over C++?


 No.797328>>797335 >>797349

>>797326

MS says it's good for gaymes and hypes for it so I believe them?

t.pajeet


 No.797335

File (hide): cc2168578d3a3ed⋯.jpg (28.98 KB, 500x500, 1:1, 1365427509473.jpg) (h) (u)

>>797328

>games


 No.797339>>797349 >>797636

>>797326

Faster development time and no dealing with C++ horrendous STL and other static_cast shit.


 No.797349>>797601 >>797636 >>797730 >>797732 >>798784

>>797311 (OP)

The reason C# exists is because the Win32 API is so poorly designed and so poorly documented they had to make tools to automate it to avoid the mess from getting any worse.

Problem is, .NET is even worse since the whole fucking point was design once, run anywhere. It's Java without any of the advantages of Java.

>>797315

OOP isn't cancer you fucktard. Doing GUI code without OOP makes you look like a fucking idiot who spouts memes about "MUH C".

>>797326

Rapid Development where you don't have time to unravel the mystery of the badly designed WinAPI.

If you have time, you have no excuse, just be aware you will spend more time trying to get basic shit to work, and sometimes, it'll take days to figure out why something doesn't work.

>>797328

Not necessarily true, depends on the game you are trying to make.

>>797339

Filtered.


 No.797460

>>797311 (OP)

Perhaps you should quit using Windows, or go back to >>>/v/, cuck.


 No.797512>>797636 >>797638

>>797311 (OP)

>EVEN THOUGH YOU ALREADY HAVE THE NEWEST VERSION

That's not how it works you fucking moron. Microsoft .net version 4 is ONLY for version 4 applications. In other words, .net is NOT backwards compatible


 No.797601>>797665

>>797349

Could you elaborate in which things need C# instead of C++?

The main thing i can think of is making a fancy looking GUI on windows but there are things like Qt.


 No.797636

>>797512

So it's even worse than java.

>>797339

>>797349

Faster development only werks when you do albanian virus-tier garbage. The fuckery starts with basic things like sql and vs isn't that super helpful for tracking bugs.

Use electron and call it a day my niggers.

Tips fedora


 No.797638>>797665 >>797730 >>798469 >>807295

File (hide): 5854f74e2598076⋯.png (48.86 KB, 620x479, 620:479, Untitled.png) (h) (u)

>>797512

>meanwhile, in C++ land


 No.797665

>>797601

I should have explained, nothing needs C#, there are other better options out there (QT, GTK, fuck even Java). C# is really just the .NET version of MFC which is also it's own clusterfuck.

I will say though if you go the pure Win32 way, be prepared to rage. You know those threads where people post what it's like to work at Microsoft? The WinAPI is like a free preview of that.

>>797638

Two for every version isn't bad, .net has loads more than that. For just .NET 4.5 I have 5 of those installed for whatever reason, and only a few of those C++ Redistributables. For whatever reason I do not have the 2005 one even though I have VS05 installed.


 No.797676

>>797311 (OP)

contrary to what autists everywhere believe, the ability to have multiple versions of the same dependency is a good thing. also C++ on windows has the same shit: mscvrt.dll etc, and most C++ crap on windows ships with some unmanaged DLLs in the program folder


 No.797702

>why do they let me still play older games? they should force me to only have one version to break compatibility with any reasonably old game

Even /v/ isn't this retarded.


 No.797724>>797731

File (hide): a8941e96f2ca35d⋯.jpg (77 KB, 1080x1080, 1:1, 1486650349739.jpg) (h) (u)

I love how .net shills flooded the imageboards when the new java version came out. Good timing, but pointless efforts.


 No.797730>>797940 >>798029

File (hide): 3dea03ee92c1553⋯.jpg (15.02 KB, 604x438, 302:219, c67.jpg) (h) (u)

>>797349

>better documentation than most free software projects

>poorly designed and documented

The only thing you're proving here is that you're a huge pajeet who can't read and understand MSDN. C# is yet another worthless abstraction layer on a solid API.

>>797638

If you compile something that requires the redist you are a lazy pajeet. Learn how to set your project up (or better yet, don't use MSVC)

Literally the only C-hashtag programmers are Java fans (indians) and people who know literally nothing about programming except they want to make a "cool video game in Unity xDDDD"


 No.797731>>797745 >>797746

>>797724

>that timestamp

Go back to cuckchan.


 No.797732

>>797349

> Filtered.

"How dare you disagree with me! I'm calling the internet police!"

Why don't you go back to reddit where you belong.


 No.797745

File (hide): a18fe515b6e2f87⋯.jpg (92.18 KB, 1024x655, 1024:655, 617.jpg) (h) (u)

>>797731

>being so mad about people invading your sekrit club that you memorize what filenames look like when saved from various websites


 No.797746

File (hide): 22b9b0336d8a0fc⋯.png (34.77 KB, 320x240, 4:3, bait.png) (h) (u)

>>797731

Maybe if you had some imageboard culture of your own people would be reposting that instead.


 No.797940>>797969

>>797730

>you're a huge pajeet who can't read and understand MSDN

Have you ever looked at MSDN for anything that isn't .NET? It's shit. It's well known it's shit. There are entire forums filled with people asking "What did they mean by this?".

The only thing you prove here is you haven't read MSDN outside of .NET. Fuck off shill.


 No.797943

>>797311 (OP)

>make a super useful shared library so games can use the same one and make your life simpler

>every game downloads their own fractional version of it anyway and eventually your computer has 80 different .nets installed even though you've removed all the games


 No.797969>>798008

>>797940

I have never used MSDN for .NET and have only used it for writing win32 API code in c. You are probably the kind of c# fag who can't even write the code to create a window.


 No.798008

>>797969

>only used it for writing win32 API code in c

Then you should know how shitty it is. Seriously at this point you just look retarded anon.


 No.798029>>798756

>>797730

>better documentation than most free software projects

Yes, you're right the documentation is adequate. But the thing itself is such a worthless pile of shit it isn't even funny.


 No.798229

.net core tho


 No.798260>>798287

Win32 is such an utter piece of crap for coders that I code on Windows using Cygwin libraries and anything open source that wraps around them in any way.

This way I can avoid at least half of this cancer.

also, btw I use Arch.


 No.798263

>>797326

Reflection. Also LINQ, but C++ ranges appears to be doing that same kind of thing for C++.


 No.798272

>if your program isn't written in pure asm flashed directly into motherboard's ROM you're a codemonkey pajeet


 No.798287>>798733

File (hide): 115d749e452608f⋯.jpg (50.42 KB, 800x600, 4:3, 1413437997580.jpg) (h) (u)

>>798260

Just use STLs gcc version on windows, its much much better than the ms compiler. Ironically STL works for ms and provides the best gcc package for windows.


 No.798292>>798294

>>797326

If you're /tech/ and can't handle C++. C# is much easier but it's Java so you pay dearly in GC hitching and bloat. Unity devs often get burned porting to xbone because the absurd waste they're used to getting away with on PC destroys console hardware. It's not an easy problem to fix as you have to avoid generating garbage in a language designed for garbage generation to feel natural.


 No.798294

File (hide): 08da80963152a69⋯.jpg (117.89 KB, 1280x720, 16:9, 1484946998068.jpg) (h) (u)

>>798292

Good post


 No.798469>>798480

File (hide): 8a0fc549f3fb53c⋯.png (75.3 KB, 787x671, 787:671, 1.png) (h) (u)

>>797638

why microsoft, why

i mean, really its like a couple megabytes so i could care less, but i feel like this should all be combined into one release that does everything

i shouldnt need versions of C++ from 2005


 No.798480>>798481

>>798469

Microsoft is all about maintaining API/ABI compatibility. Their method of doing that is to duplicate code to avoid introducing any compatibility bugs. It works extremely well - you can usually run Windows programs built 20 years ago compared to Linux where binaries rot quickly - but the cost of that is requiring an army of Pajeets to keep all that shit maintained and massive bloat.


 No.798481

>>798480

I should add, "compatibility bug" to them includes patching a bug people designed around. So they're literally maintaining old bugs for binary compat reasons.


 No.798733

>>798287

Archfag here.

Thx m8. I'm using GCC 7.1 on Windows.

I use MSVC only when necessary (ABI incompatibilities).

I'm using Cygwin libs mostly for porting stuff over to Win32, as it makes the work go much faster.


 No.798756

>>798029

Compare win32 code for GUI programs to programming for X, this is the pot calling the kettle black. Please try and write something with your window manager, and then try and write something with win32, you'll see it's much nicer to use.

>>798029

>programming on windows using win32

>I have access to the entire MSDN documentation with detailed articles and informative pages

>documentation tells me how to integrate the functions I'm reading about into a working, useful program

>programming xlib

>documentation is extremely vague, full of holes, and near useless

>only tells you how the functions sort of behave in a vacuum

> the only way to find out how to integrate them into a working program is to read other people's shitcode on forum posts from 2005 where you can sort of see the functions being used in an actual context

Not only that, but win32 code is quite a bit cleaner and more readable. So, it's not a high ground, you're just either hiding it behind abstraction layers or you haven't tried to do the kinds of tasks the the windows API is actually used for on Linux.


 No.798784>>798870

>>797349

>Doing GUI code without OOP makes you look like a fucking idiot who spouts memes about "MUH C".

Everyone knows that GUIs are only for pajeets. Real programmers use CLI only, even when on the interbutts.


 No.798870>>798877 >>798880 >>800814

>>798784

> GUIs are only for pajeets.

Good luck trying to earn even a nickel on Windoze users. If you can't design and make a proper GUI you're doomed to starve.

Also, GUI without OOP would be retarded. Even if you make GUI in C you should still use OOP.


 No.798877>>800156

>>798870

>Also, GUI without OOP would be retarded. Even if you make GUI in C you should still use OOP

Explain win32 and X then


 No.798880>>800159

>>798870

>Programming is about money

Damn, you are pajeet as fuck. Everyone knows real programmers can eat from their foot or beard.


 No.800156>>800634

>>798877

A mistake. A big one, hence why MFC and .NET exist.


 No.800159

>>798880

And real programmers also wash that down with a refreshing Pepsi right after smashing a water bottle on stage.

It's the Choice, of a GNU generation.


 No.800178

It a sad but not unexpected day when .net compatibility is an even worse clusterfuck than rpgmaker editions.


 No.800634>>800648

>>800156

MFC and .NET are cancer. They're literally just wrapper libraries around the real API (win32) that make it pretend to be an OO system so that pajeets can shit out software. Just because you fell for the OOP meme in your "into to CS" class doesn't make it real.


 No.800648>>800794

>>800634

I've been doing C++ for a long time, mostly on Linux, and win32 is the cancer. I don't blame Windows programmers at all for wanting to use .NET. C++ on Windows is a hell of functions taking 10 arguments that are structs of 50 arguments full of NULLs where 95% of the API is secretly deprecated but you don't know that until you hit something impossible to do without rewriting your code to use a totally different pathway. Every time I have to write something low-level for that mess they've got a new way to do async I/O that promises to not be as shit as the last and it's always shit. Porting anything from Linux easily increases the amount of code 10x. Even printing error messages is so fucking involved you'll need to write library functions for it.

(((reddit space)))

I've been doing it for a long time like I said so I remember back when you needed to literally create thread trees to get around WaitForMultipleObjects having a low limit on waitables (64 I think), IOCP (which is totally bullshit behind the scenes, if you were thinking it was some magical kernel thing) having no way to schedule the threads or force affinity so it had to be avoided for fast networks, having to call the driver directly to get around tcpip.sys literally having been crippled (buy pro, goy! The artificial limit is higher!), their 'edge triggering' which had no way to disable level triggering for read AND write, etc.. It's the shittiest OS experienced from the win32 level.


 No.800650>>800652

Because pajeets don't into C++


 No.800652

>>800650

They do and it's horrible.


 No.800794>>800816 >>800859

File (hide): b67773391d4cd72⋯.jpg (112.2 KB, 1334x1290, 667:645, pee.jpg) (h) (u)

>>800648

>a hell of functions taking 10 arguments that are structs of 50 arguments full of NULLs

That's nothing, check THIS out:


void vkr_init_pipeline(vkr_t *vkr,jmp_buf jump){

//init pipeline
VkResult res = 0;

VkDynamicState dyn_state_list[VK_DYNAMIC_STATE_RANGE_SIZE] = {0};

VkPipelineDynamicStateCreateInfo dyn_state_info = {
.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
.pDynamicStates = dyn_state_list,
};

VkPipelineVertexInputStateCreateInfo vi_state_info = {
.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
.vertexBindingDescriptionCount = 1,
.pVertexBindingDescriptions = &vkr->vi_binding,
.vertexAttributeDescriptionCount = 3,
.pVertexAttributeDescriptions = vkr->vi_attribs,
};

VkPipelineInputAssemblyStateCreateInfo asm_state_info = {
.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
.primitiveRestartEnable = VK_FALSE,
.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
};

VkPolygonMode mode = VK_POLYGON_MODE_FILL;

if(vkr->dev_features.fillModeNonSolid == VK_FALSE){
con_printf("WARNING: Non-solid fill modes are not supported by your video card! The value of r_wireframe has been discarded!");
}
else{
if(cvar_geti("r_wireframe")){
mode = VK_POLYGON_MODE_LINE;
}
}

VkPipelineRasterizationStateCreateInfo rst_state_info = {
.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
.polygonMode = mode,
.cullMode = VK_CULL_MODE_NONE,
.frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE,
.depthClampEnable = VK_TRUE, //Selym says he had to change this to prevent errors. Why?
.rasterizerDiscardEnable = VK_FALSE,
.depthBiasEnable = VK_FALSE,
.lineWidth = 1.0f,
};

VkPipelineColorBlendAttachmentState att_state[1] = {(VkPipelineColorBlendAttachmentState){
.colorWriteMask = 0xf,
.blendEnable = VK_TRUE,
.alphaBlendOp = VK_BLEND_OP_ADD,
.colorBlendOp = VK_BLEND_OP_ADD,
.srcColorBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
.dstColorBlendFactor = VK_BLEND_FACTOR_SRC_ALPHA,
.srcAlphaBlendFactor = VK_BLEND_FACTOR_ONE,
.dstAlphaBlendFactor = VK_BLEND_FACTOR_ZERO,
},};

VkPipelineColorBlendStateCreateInfo cb_state_info = {
.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
.attachmentCount = 1,
.pAttachments = att_state,
.logicOpEnable = VK_FALSE,
.logicOp = VK_LOGIC_OP_NO_OP,
.blendConstants[0] = 1.0f,
.blendConstants[1] = 1.0f,
.blendConstants[2] = 1.0f,
.blendConstants[3] = 1.0f,
};


VkPipelineViewportStateCreateInfo vp_state_info = {
.sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
.viewportCount = 1,
.scissorCount = 1,
};

dyn_state_list[dyn_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_VIEWPORT;
dyn_state_list[dyn_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_SCISSOR;

VkPipelineDepthStencilStateCreateInfo ds_state_info = {
.sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
.depthTestEnable = VK_TRUE,
.depthWriteEnable = VK_TRUE,
.depthCompareOp = VK_COMPARE_OP_LESS_OR_EQUAL,
.depthBoundsTestEnable = VK_FALSE,
.stencilTestEnable = VK_FALSE,
.back = {
.failOp = VK_STENCIL_OP_KEEP,
.passOp = VK_STENCIL_OP_KEEP,
.compareOp = VK_COMPARE_OP_ALWAYS,
.depthFailOp = VK_STENCIL_OP_KEEP,
},
.front = {
.failOp = VK_STENCIL_OP_KEEP,
.passOp = VK_STENCIL_OP_KEEP,
.compareOp = VK_COMPARE_OP_ALWAYS,
.depthFailOp = VK_STENCIL_OP_KEEP,
},
};

VkPipelineMultisampleStateCreateInfo ms_state_info = {
.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
.rasterizationSamples = VK_SAMPLE_COUNT_1_BIT,
.sampleShadingEnable = VK_FALSE,
.alphaToCoverageEnable = VK_FALSE,
.alphaToOneEnable = VK_FALSE,
.minSampleShading = 0.0,
};

VkGraphicsPipelineCreateInfo pipeline = {
.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
.layout = vkr->pipeline_layout,
.basePipelineHandle = VK_NULL_HANDLE,
.pVertexInputState = &vi_state_info,
.pInputAssemblyState = &asm_state_info,
.pRasterizationState = &rst_state_info,
.pColorBlendState = &cb_state_info,
.pTessellationState = NULL,
.pMultisampleState = &ms_state_info,
.pDynamicState = &dyn_state_info,
.pViewportState = &vp_state_info,
.pDepthStencilState = &ds_state_info,
.pStages = vkr->shader_stages,
.stageCount = 2,
.renderPass = vkr->render_pass,
.subpass = 0,
};

res = vkCreateGraphicsPipelines(vkr->device,VK_NULL_HANDLE,1,&pipeline,NULL,&vkr->pipeline);

if(res != VK_SUCCESS){
longjmp(jump,vkr_error_vmem);
}
}


 No.800814

>>798870

define OOP


 No.800816

>>800794

Vulkan has the excuse that it's a message-based API for hardware that for some reason requires everything be batched into huge blocks for performance.


 No.800850>>800857

File (hide): 66a6d8a5c6df69d⋯.png (314.49 KB, 940x744, 235:186, ClipboardImage.png) (h) (u)

>>797326

>Any reason to use C# over C++?

Preventing carpal tunnel and chronic depression.


 No.800857

>>800850

>meaningless example

>oyy veyy c++ so bad goyim, use (((token new technology))) instead


 No.800859>>800860

>>800794

Is that C++?

What is the ".foo = bar" syntax?


 No.800860


 No.801777>>807278

>>797313

>tfw no package manager

>tfw no dependency resolution

It's the only feature Linux actually invented, and the one that would actually benefit from Windows' botnet-ness, yet all MS has is still just OS updates, a sprinkling of 3rd-party drivers, and semi-automated uninstallation.


 No.807264

>>797311 (OP)

It's been even more retarded on 300MHz 64MB PocketPC ARM toasters. Imagine how many "very serious enterprise apps" are developed this way...


 No.807278>>807286 >>807300

>>801777

windows 10 has a package manager though


 No.807286>>807291 >>807306

>>807278

Literally worse than the one Slackware has had since 1994.


 No.807291

>>807286

HOW DO YOU KNOW MY YEAR OF BIRTH???????????????


 No.807295

>>797638

You don't really need x86 versions tho


 No.807300>>807304


 No.807304>>807331


 No.807306

>>807286

slackware doesn't have a package manager. it has a convenient system of pre-config'd tarballs which are hassle-free to compile and install.

sage for off-topic.


 No.807322>>807323

>>797311 (OP)

>C++ is on the same category as C#

come again?

not close. you're probably looking into recommending Vala as a runtime-bloat-free replacement for C# and Java-style languages.


 No.807323

>>807322

vala is abandonware


 No.807331

>>807304

Oh, that ...




[Return][Go to top][Catalog][Screencap][Nerve Center][Cancer][Update] ( Scroll to new posts) ( Auto) 5
69 replies | 11 images | Page ?
[Post a Reply]
[ / / / / / / / / / / / / / ] [ dir / bbbb / gdp2083 / nofap / ordem / russian / startrek / strek / trap ][ watchlist ]