One of my control theory courses has a pretty assburger prof who insists we use UNIX-based systems in a code project...

One of my control theory courses has a pretty assburger prof who insists we use UNIX-based systems in a code project. Still half the class, including me, went with using Visual Studio as an IDE instead.

The deadline is next week and my entire project is written for a windows system.
What's a good excuse for not having used UNIX? Could I blame it on compability issues with my hardware preventing installation of a new OS?

Other urls found in this thread:

en.wikipedia.org/wiki/C99#Implementations
visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/2089423-c99-support
herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/
en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
twitter.com/NSFWRedditGif

>using IDE for learning
Seriously why do normalfags do this? I bet half of class doesn't understand the difference between IDE and compiler. Professor is right. Stop complaining and port code to UNIX. And no hardware can't prevent you from installing a new OS? Ever heard of virtualization?

There's no excuse, since many Unix systems are open source, therefore being free, and therefore running on nearly any hardware architecture possible. Too bad, bro, but it's all your fault.
If your computer can run Windows it can run FreeBSD.

Like you haven't even said what language you're using (likely either C or C++ but still). Do you even know if your code is platform dependent? If it's just using standard libraries it probably won't be.

...

It's C.

And yeah some functions used are platform dependent, like getting the time elapsed and sleep.

Because students are more worried about grades than learning

You sound like the kind of retards in my programming courses that always failed and ended up droping out because they were terrified of anything that wasn't GUI-based on a Windows OS and would refuse to try even with constant handholding and offers for help from the rest of the class.

Install ubuntu on a virtual machine and port your shit there.

>Could I blame it on compability issues with my hardware preventing installation of a new OS?
that would be fucking retarded. *nix OSs run on fucking everything while windows is limited in hardware support.

>UNIX
you mean.. POSIX ? even windows has a POSIX layer and you can write and compile POSIX compliant code on windows.

Your prof is trying to get you to adapt good coding practices and you're trying to come up with excuses for crappy code that's out of spec?

>mfw to smart to know fflush(stdin) is undefined behavior

>writing C
>Deciding to use Windows despite your professor telling you to use unix-like OS
>For a C project
>Adamantly using Windows
Can't help you OP

>It's C.

why would you even need to use windows specific functions in a C project ? it would be way harder than just writing standard C or maybe POSIX compliant C code, because the documentation of the windows api is worse than the GNU documentation

>Install ubuntu on a virtual machine and port your shit there.
I'm doing it, but it's so fucking slow it's unbearable. It legit takes 4 seconds before virtualbox registers a simple mouse click.

Buy a SSD
Install FreeBSD on it.
Wow! Problem solved!

This just reminded me
Professor: I need you to write this assignment in HTML + CSS by hand so you can learn exactly how does it work and the code is readable
Half the class: *Eagerly open Dreamweaver and use the WYSIWYG editor for absolutely everything like it was a fucking Word file resulting in a tangled mess of spaghetti code, unsuccessfully struggle to fix it by hand, fail the assignment*

Install the guest additions you mong

tell him you prefer using windows

>are open source, therefore being free
Stallman would like to have a word with you.

this
>grsec
>open source
>not free

it's not about the OS, OP is just a retard. his prof wanted him to write either standard C or posix compliant code but OP decided to use windows specific code

...

Honestly had a professor like this. Use Dev C++. It compiles like the same minus command line args.

MSYS2
S
Y
S
2

IDE is required for large projects. Writing required methods by hand is codemonkey tier.

I've also seen this image like 10 times already
I don't understand what the fuck is going on

>Writing required methods by hand is codemonkey tier.
how else are you supposed to write your methods ?

>The professor told me to do a thing but I didn't do it how can I convince that I was right all along

Just implement your architecture once, I don't see how this is a problem unless all your functions are boilerplate set get garbage.

You were robbed.

>appear to be female

it keeps happening

It is Japan after all.

forgot pic

I still believe she was a girl pretending to be a boy pretending to be a girl for the attention.

>homework assignment
>large project

>like getting the time elapsed and sleep
Should have used libraries instead of writing those yourself.

But worst case you can still #ifdef platform-specific code and add the equivalent for a UNIX system if you weren't allowed to use certain libraries or something retarded like that.

>not importing a skeleton and doing a line range replace using vim

Tell him it's written on a solaris machine

And making excuses instead of manning up and writing your code to spec ISN'T codemonkey tier?

There is no excuse pajeet.
>hurr my shit wasnt compatible with linux
a fucking toaster runs linux you dumb fuck, there is no excuses. And if there _WAS_ an excuse, then you should have discussed it with the professor at the beginning of the semester.

>Still half the class, including me, went with using Visual Studio as an IDE instead.

>half of the class will graduate and go on to peruse careers
>guess which half of the class this is

I had a professor who required we learn both g++ and msvc++; our code projects had to compile with both compilers.
We were even required to write our own makefiles and give compile instructons when we "turned it in" for a grade.
I HATED it at first. But halfway through the course I saw the wisdom of it and stopped being a little bitch about it. Your professor wants you to learn these things so you aren't boxed in to using windows for the rest of your life. If your code doesn't need platform specific code, you should not write platform specific code initially. For very large projects, you want as much of your code to be portable as reasonably possible (hopefully not at the cost of performance or functionality). Your professor probably gave you an assignment which they knew could be coded in a platform independent manner.

the botnet wants us to know it's there, watching us

Solaris is Unix.

Why didn't you use macOS + VS Code?

If it's C and you're using VisualStudio, you are NOT writing C. You are writing C++.

Wrong

>I had a professor who required we learn both g++ and msvc++; our code projects had to compile with both compilers.
so, he required you to write code compliant to the c++ standard ? thats how it's handled at every decent university, we had the requirement that if it's non-standard c or throws any warnings with -Wall -pedantic you get 0 points

>One of my control theory courses has a pretty assburger prof who insists we use UNIX-based systems in a code project.
Which makes sense considering that UNIX and UNIX-like families of OSes are far better suited for the job and far easier to use than Microsoft Windows in this particular context. There is more documentation and examples available and just truck loads worth insanely good books. You should install Open/Net/Free/*BSD, Solaris or (some UNIX-like such as) your favourite GNU/Linux distribution (such as Fedora, Debian or Slackware).

>Still half the class, including me, went with using Visual Studio as an IDE instead.
Why on earth would you guys do that? You're not learning anything that way. Especially if the language is C. The MSVC isn't even fully C99 compatible (let alone C11).

Introduce yourself to Bash, Vim, GCC and Make.

>The deadline is next week and my entire project is written for a windows system.
Well, I guess it's time for you to learn POSIX and write universally compatible programs. The problems you mentioned are fairly easy to solve. For example sleep() being in microseconds on Windows and seconds in POSIX is solved using nanosleep().

>What's a good excuse for not having used UNIX?
In this programming context there aren't any good excuses. You could try building an argument using the "UNIX-Haters Handbook" but that's mostly invalidated by the fact that the book is outdated as fuck. It's still amusing to read though.

>Could I blame it on compability issues with my hardware preventing installation of a new OS?
Nope. Modern UNIX systems like *BSD and Solaris work pretty much everywhere. Furthermore GNU/Linux (which is a UNIX-like to be precise) has a far better hardware compatibility out of box than Microsoft Windows. You guys could have even used macOS (which is a one kind of UNIX) for this task and still come out as winners.

Blame it on the jews

>The MSVC isn't even fully C99 compatible
seriously ? i'm too lazy to look it up, but thats kinda hard to believe, even if it's m$

Just install a VM and compile it there.

If you use compatibility as an excuse he'll just think you are a moron.

It isn't even C89 compatible. fopen is broken by design, to prevent code monkeys to do portable code.

fuck, thats really messed up. now i start to understand why windows users use mingw or cygwin or stuff like that.

However it's true. Microsoft doesn't care about the C language. They're only supporting it as a part of the C++ and the latest C++ standard supported by MSVC is C++11 which isn't fully C99 or C11 compliant. If you want C99 on Windows you have to use something like Pelles C.

en.wikipedia.org/wiki/C99#Implementations

And when people ask for the support Microsoft promptly usually declines...

visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/2089423-c99-support
herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/

so seems like they only support iso c90
i don't know anyone who uses or even read that standard and i don't really get why they don't just copy LLVM code .. it's not like it would be the first time they'd copy BSD code.

>complete retards like OP will be more successful than me

This. No matter how much time you invest in learning technology you will never be a normalfag.

mingw has the same problem. It does'nt implement fopen correctly on NT.

IDEs are literally just.... bloated text editors with better auto complete and project templates

Give it more than 128mb of ram you jabroni

This. Get fucked, op.

> It does'nt implement fopen correctly on NT.
wasn't NT posix compliant ? when did they stop ?

my professor was the opposite

he adamantly encouraged people to install and get used to Eclipse and all the magical buttons and menus rather than learn OOP/Java

this is at a half-decent uni too

...

the one using real tools

nope, an IDE is a tool that integrates different tools needed for development and provides a common interface.
so with the right configuration every combination of at least a shell + texteditor + compiler can be qualifies as an IDE

OP, you fucked up. Just unfuck yourself and use Linux or BSD.

Coding like Unix like environments is easier anyway. Why would you do something stupid like use Windows when the person giving you a grade says to use a Unix like environment?

>make linux LiveUSB
>install any compiler of your choice for your language
>copy your source files somewhere accessible from liveUSB
>compile for linux

>test it
>turn it in
>?????
>PROFIT

...

Around Windows NT 5.0 (Windows 2000). That's when they stopped caring about it. Windows NT is currently not fully POSIX compliant.

en.wikipedia.org/wiki/Microsoft_POSIX_subsystem

Okay then just copy the code to a Linux machine, edit it to be standard C and recompile

If you're that stupid you don't deserve a degree

Yeah I'm in the process of doing it.

And regarding my degree, I'm not gonna be a codemonkey; I'll be giving orders to the programmers.

>I'll be giving orders to the programmers
HAHAHAHAHAHA

>I'm not gonna be a codemonkey
you can't even write standard compliant code, ofc you'll be worse than a codemonkey.

> I'll be giving orders to the programmers.
do you seriously think you are suited to write specifications if you can't even read standards and specificatons ??

Settle down Pajeet

>Can't even follow basic instructions
>I'll be giving orders to the programmers.
lmao

Not with that "I know better than my professor trying to wean me of MS products and autocomplete" attitude. You'll be a code monkey at best if you don't change your ways.

>I'm not gonna be a codemonkey; I'll be giving orders to the programmers.

>prof tells you to do shit a certain way
>you don't
Enjoy your failure, dumbass. You couldn't even set up a VM? Who the fuck let you near computers? Your handler need to be retrained.

>You'll be a code monkey at best if you don't change your ways.
wrong, he might manage to become a code monkey if he changes his ways and learns to read specifications.

Im very confused, why would you prefer windows api over posix. Windows is fucking disgusting to program with.

You don't get it. She/he is just one of the code monkeys who can't code without a powerful IDE.

>I'll be giving orders to the programmers.
Sure enough, you'll be telling pajeet to make big macs for the drive-thru customers

I'm doing better than 80% of my class, at one of the most respectable universities in my country (India).

PAJEET

MY SON

AHAHAHAHAHAHA ONLY AN INDIAN COULD BE THIS STUPID AND ARROGANT

Indians don't understand what the word "specification" means. More news at 11.

too obvious, way too obvious. you should have searched for some indian university with a name that doesn't give away it's indian unless you look it up.

...

I frequent Quora, the school you're looking for is the Indian Institute of Technology or IIT. The Pajeets on Quora have deluded themselves into thinking their school is on par with the likes of MIT and Stanford.

Please be bait

Maybe you should have listened to the requirements of the course. If you have a job and the customer wants it on a linux system, and you give them a solution that only works on windows, you aren't going to make very much money

My school provided some ubuntu machines that we could ssh into for this stuff, and I did all my dev in visual studio, then wrote a makefile and tested it on ubuntu

See Everything will be explained

>wrote a makefile and tested it on ubuntu
Please help me with my makefile. It produces linker errors (many "undefined reference to ..." errors while compiling in emacs)

CC=gcc
CFLAGS=-g

all: main

main: main.o subfunction1.o subfunction2.o subfunction3.o subfunction4.o subfunction4.o
$(CC) main.o subfunction1.o subfunction2.o subfunction3.o subfunction4.o subfunction4.o -o main

main.o: main.c
$(CC) $(CFLAGS) main.c

subfunction1.o: subfunction1.c
$(CC) $(CFLAGS) subfunction1.c

subfunction2.o: subfunction2.c
$(CC) $(CFLAGS) subfunction2.c

subfunction3.o: subfunction3.c
$(CC) $(CFLAGS) subfunction3.c

subfunction4.o: subfunction4.c
$(CC) $(CFLAGS) subfunction4.c

subfunction5.o: subfunction5.c
$(CC) $(CFLAGS) subfunction5.c

clean:
rm *o main

When compiling a ".o" add -c to gcc command.

CFLAGS should be -Wall -pedantic -c

CC=gcc
CFLAGS=-std=c89\
-Wall -Wextra -Wno-parentheses\
-Werror -Wfatal-errors -pedantic\
-Ofast

all: main

OBJS=\
subfunction1.o\
subfunction2.o\
subfunction3.o\
subfunction4.o\
main.o

main: $(OBJS)
$(CC) -o main $(OBJS)

.SUFFIXES:
.SUFFIXES: .c .o

.c.o:
$(CC) -c $(CFLAGS) -o $@ $<

clean:
rm -f *o main

No.

ok, thats really better.. but why c89 and not c99 ? c99 has some nice features and is supported by every decent compiler

>some nice features
Absolutely useless.

did he provide a server to ssh into, or assume you would dual-boot linux?
also why do you need windows-specific stuff? you didn't do system("PAUSE") or any of that bullshit or use a windows-specific gui library, did you?

declaring variables in for-loop heads is a neat feature.
but i can't really think of any other c99 features i use